【发布时间】:2012-09-16 13:52:54
【问题描述】:
如果下面的 BNF 语法是 LL(1),有人可以帮我确认一下吗:
S ::= A B B A
A ::= a
A ::=
B ::= b
B ::=
其中 S 是起始符号,非终结符 A 和 B 可以导出为 epsilon。我知道解析表中的单个单元格中是否有 2 个或多个产生式,那么语法不是 LL(1)。但是如果一个单元格已经包含 epsilon,我们可以在构建解析表时安全地用新的产生式替换它吗?
【问题讨论】:
-
嗯,也许这不是 LL(1)。如果我被允许替换包含 epsilon 的解析表中的单元格,就像我在问题中提到的那样,那么它不会检测到 FIRST/FOLLOW 冲突。
标签: parsing grammar bnf ebnf ll