直接左递归消除

针对左递归的上下文无关语法$A$,存在一种能够消除左递归的改写方式。 本文将不严谨(?)地证明这一点。

左递归语法

考虑如下语法

$$ A \rarr A\alpha_1|A\alpha_2|A\alpha_3|\dots|A\alpha_m|\beta_1|\beta_2|\beta_3|\dots|\beta_n $$

令$\alpha = \alpha_{1\dots m}$,$\beta = \beta_{1 \dots n}$,则可简写为

阅读全文