繁体   English   中英

如何检查此语法中的歧义:

[英]How do i check the ambiguity in this grammar:-

E-> EE + / E(E)/ ID

检查给定的语法是否模棱两可。 另外,如果您能告诉我消除歧义的过程,那将对您有很大的帮助。

我尝试为其创建解析树,但无法弄清楚如何实际使用它来查找模棱两可的案例

Bison会为该语法生成​​一个LALR(1)解析器,而没有任何解析器冲突。 没有解析冲突的LALR(1)语法不能是模棱两可的,因此您似乎不太可能发现歧义。

作为参考,我使用的野牛输入为:

%%
E: E E '+'
 | E '(' E ')'
 | 'i'

如果使用-v标志进行处理,则bison将生成一个报告文件,其中包含完整的状态机。 (有八个状态加上初始状态。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM