消去左递归即
将 A --> Aα | β 转换为
A --> β A'
A' --> α A' | ε
举个例子,例如下面的文法
E --> E + T | T
T --> T * F | F
F --> ( E ) | id
消除 E 和 T 的左递归后
E --> T E'
E' --> + T E' | ε
T --> F T'
T' --> * F T' | ε
F --> ( E ) | id
消去左递归即
将 A --> Aα | β 转换为
A --> β A'
A' --> α A' | ε
举个例子,例如下面的文法
E --> E + T | T
T --> T * F | F
F --> ( E ) | id
消除 E 和 T 的左递归后
E --> T E'
E' --> + T E' | ε
T --> F T'
T' --> * F T' | ε
F --> ( E ) | id