LL(0)语言可以包含多个单词吗?

时间:2013-06-01 09:56:02

标签: parsing compiler-theory

我有以下简单问题:如果语言是LL(0),可以 它里面有不止一个字?

我认为答案是否定的,因为如果有两个字,那么你 无法阅读它们来分辨哪一个

1 个答案:

答案 0 :(得分:3)

让我们从定义开始:

  

如果LL解析器在解析句子时使用k前瞻标记,则称为LL(k)解析器

和前瞻的定义:

  

Lookahead建立了解析器可以用来决定它应该使用哪个规则的最大传入令牌。

假设您的语言是随机命令流,彼此之间没有任何依赖关系 - 那么您可以拥有任意数量的单词。

<强> EDITED 使用野牛符号:

%token A B
%start single

single: A | B;

所以你根本不需要先行,但这个语法包括2个单词A,B