我有一个家庭作业任务,其中我应该检测语句中的歧义,给定语句定义的语法。鉴于上下文无关文法,找到模棱两可的语句
实施例:
Grammar: S -> S + S | S * S | id
Statement: id * id + id
因为有两个分析树是可能的上面的语句是不明确的。
我心里有以下歧义截至目前:
1) Operator precedence (example above) 2) If-else dangling case 3) Infinite loop (example above is left recursive) 4) Associativity
你能告诉我了这将是可行的?
我必须使用lex和bison(yacc)设计这个解析器,并在2天内提交它,所以任何指针都会对语法和语句中的含糊性有帮助。
您可能会考虑在新的计算机科学堆栈交换站点上提出这些问题:http://cs.stackexchange.com/ – Patrick87 2012-04-19 20:35:08
@ Patrick87:感谢您的提示! – 2012-04-24 11:46:28
@ Patrick87恕我直言,它更适合于[CSTheory](http://cstheory.stackexchange.com/):) – 2012-07-16 19:01:20