你好
书上有这个问题说
鉴于这个语法
A --> AA | (A) | epsilon
a- 它产生什么\
b- 表示不明确
现在我想到的答案是
a- 邻接括号
b-它生成不同的解析树,所以它含糊不清,我做了一个显示两个场景的平局。
这是正确的还是有更好的答案?
最佳答案
a
几乎是正确的。
语法真生成()
, ()()
, ()()()
, ... 序列。
但由于第二条规则,它可以生成 (())
, ()((()))
, 等等。b
是不正确的。
由于直接左递归,此文法不明确:A → AA
.
如何避免左递归:one , two .
关于grammar - 语法有歧义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484879/