我对这个练习有一点小问题。
鉴于此语法:
S -> aX | X
X -> aXb | b | eps
a) 表明它与字符串不明确
b)说出什么语言捕捉了语法
c) 更改语法并构建后代解析器
我的解决方案:
a)我用字符串' ab '显示模棱两可:
- S -> aX -> ab
- S -> X -> aXb -> ab
b) 语法捕捉这种语言:
L = {a^n b^n: n >= 0} U {a^n b^m: n=m+1, n,m >= 0} U {a^n b^m: m=n+1, n,m >= 0}
c)我的问题是更改语法以构建解析器。我尝试了不同的语法,但它们也模棱两可。例如这个:
- G -> X$
X -> aX' | b | eps
X' -> XB | eps
你能帮我找到练习的正确语法或给我一个输入吗?