Parsing LL(0)语言中可以有多个单词吗?

Parsing LL(0)语言中可以有多个单词吗?,parsing,compiler-theory,Parsing,Compiler Theory,我有一个简单的问题:如果一种语言是LL(0),那么 里面有不止一个词吗 我认为答案是否定的,因为如果有两个词,那就是你 无法通过阅读它们来判断要派生哪一个让我们从定义开始: 如果LL解析器在解析句子时使用k个先行标记,则称为LL(k)解析器 以及前瞻的定义: Lookahead建立解析器可以用来决定应该使用哪个规则的最大传入令牌 假设您的语言是随机命令流,彼此之间没有任何依赖关系,那么您可以拥有任意数量的单词 已编辑 使用野牛符号: %token A B %start single singl

我有一个简单的问题:如果一种语言是LL(0),那么 里面有不止一个词吗

我认为答案是否定的,因为如果有两个词,那就是你
无法通过阅读它们来判断要派生哪一个

让我们从定义开始:

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

以及前瞻的定义:

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

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

已编辑 使用野牛符号:

%token A B
%start single

single: A | B;

所以你根本不需要向前看,但是这个语法包括两个单词A,B

我想我不明白。你能举一个语法的例子,它是LL(0),但可以派生出一个以上的终结词吗?