0

我明天要复习考试,并且要复习前几年的考试。

在测试是语法。

Expression -> Foo "+" Bar "end"
Foo -> [a-z0-9]+ | Expression
Bar -> Expression Foo | a*b*c+

我已经尝试并花了几个小时研究如何做到这一点,但无法弄清楚。

我看过用epsilion代替东西,但没有信心。

我认为我需要创建一个 Foo' 和一个 Bar' 然后添加 epsilon 规则,但我不确定。

有人可以告诉我(简单)_如何将其更改为具有 LL(1) 能力的语法

提前致谢

4

1 回答 1

1

我记得 LL-1 语法在 1 个符号中向前看。您的目标是消除歧义和左递归。所有你需要的——使用左分解。先看看这个

于 2011-10-30T11:56:07.300 回答