Parsing LL(1)解析表中的空列是否意味着它是错误的?

Parsing LL(1)解析表中的空列是否意味着它是错误的?,parsing,compiler-construction,ll,Parsing,Compiler Construction,Ll,我有一个语法,我被要求建立一个解析表,并验证它是否是LL(1)语法。在构建解析表之后,我注意到一些列是空的,并且其中没有生成规则。这是否意味着它是错误建造的?或者它不是LL(1)?或者是什么东西不见了 谢谢。没什么好担心的。空列表示终端符号从未开始生产(除其他外)。例如,以以下简单的LL(1)语法为例: → abcdefg 这里,在S的行中,b、c、d、e、f和g的列都将为空,而a的列将是规则S→ abcdefg。更具体地说,扩充语法如下所示: | a | b | c | d

我有一个语法,我被要求建立一个解析表,并验证它是否是LL(1)语法。在构建解析表之后,我注意到一些列是空的,并且其中没有生成规则。这是否意味着它是错误建造的?或者它不是LL(1)?或者是什么东西不见了


谢谢。

没什么好担心的。空列表示终端符号从未开始生产(除其他外)。例如,以以下简单的LL(1)语法为例:

→ abcdefg

这里,在S的行中,b、c、d、e、f和g的列都将为空,而a的列将是规则S→ abcdefg。更具体地说,扩充语法如下所示:

   |    a    | b | c | d | e | f | g
---+---------+---+---+---+---+---+---
 S'|    S    |   |   |   |   |   |
 S | abcdefg |   |   |   |   |   |
是的→

→ abcdefg

解析表如下所示:

   |    a    | b | c | d | e | f | g
---+---------+---+---+---+---+---+---
 S'|    S    |   |   |   |   |   |
 S | abcdefg |   |   |   |   |   |
请注意,大多数列都是空的