[英]LL1 boolean operator Grammar to implement Recursive decent parser
这是来自原始语法的小块,我必须实现递归的正确解析器。 我们必须从中删除歧义,左递归等,以便我们可以实现其解析器。 我已完成其他位,但无法弄清楚如何处理not运算符(〜)。
有效的表达式可能是。 1&〜1,(1&~1)等
我有处理大括号,以及&和或符号但不能处理〜符号。
这是原始语法。
A -> A & A
A -> ~A
A -> (A)
A -> 0 | 1
我无法弄清楚如何处理〜 。
这是我的解决方案:
one -> two one'
one' -> ~one|^
two -> three two'
two' -> & three two'|^
three -> four three'
three' -> || four three' | ^
four -> (one) |0 |1
当我实现它时,一切都适用于括号,或者操作符。 但否定〜没有奏效。 所以我认为语法没有正确转换为LL(1)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.