[英]Automatic grammar transformation for left-factoring; and left-recursion removal
[英]eliminating left-recursion, e, left-factoring?
我有语法
S->一个{B}
并且我正在尝试重写它以避免使用{}。 如果我写
S-> a | aB B-> b | bB
那么我无法在第二条规则中进行预测性分析。 如果我写
S-> a | aB B-> b | Bb
然后我在第二条规则中成为左递归。
尝试做左分解,
B-> bC C->(e)| B
我正在介绍空符号。 到目前为止的愿望是制作不带(e)的语法,该语法适合于预测性分析而不是左递归。
可能吗?
我不这么认为。 本质上,您可以在语法中删除a部分,然后删除b的第一个部分,它们与您的问题无关。 然后,您列举了声明无限多个b的所有三种样式。 您必须选择其中之一。
我建议只使用空符号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.