描述不是LL(1)的LL(2)语言的语法,在该语言中没有规则可以产生epsilon?

问题描述 投票:0回答:1

[This answer显示描述不是LL(1)的LL(2)语言的语法:

S -> a S A | epsilon
A -> a b S | c

在此语法中,S的一种可能性是它产生epsilon,即空字符串。是否有类似的语法描述不是LL(1)的LL(2)语言,但是没有规则可以产生epsilon

parsing grammar context-free-grammar ll
1个回答
0
投票

您可以通过直接替换从该语法中删除ε:

S → a A | a S A
A → a b | a b S | c

唯一的区别是新语言不包含空字符串,因为在严格的无ε语法中这是不可能的。通常,我们在非递归的起始符号中允许单个ε,这意味着要引入一个新的起始符号:

S' → S | ε
© www.soinside.com 2019 - 2024. All rights reserved.