如何消除此CFG中的左递归?
<RE> -> <RE>'|'<CONCAT> | <CONCAT>
<CONCAT> -> <CONCAT><KLEEN> | <KLEEN>
<KLEEN> -> <KLEEN>'*' | <ELEM>
<ELEM> -> 'a' | 'b' | 'c' | 'd' | '('<RE>')'
答案 0 :(得分:1)
查看维基百科上的Removing Left Recursion部分。
以下是关于确切如何操作的描述;
Moore,Robert C.(2000年5月)。 “从无上下文语法中删除左递归”。第六届应用自然语言处理会议:249-255。 http://aclweb.org/anthology-new/A/A00/A00-2033.pdf。