标签: programming-languages grammar ambiguous-grammar
我有类似的语法规则;
S -> S and S S -> S or S S -> (S) S -> true | false -- and , or , ( , ) , true ,false are terminals --
我可以发现这个语法含糊不清,但是如何修改这个语法来解决歧义呢?
答案 0 :(得分:1)
标准方法是赋予它们优先级/相关性:
S -> S or A | A A -> A and P | P P -> (S) P -> true | false