我似乎无法弄清楚
的无限制语法 L = (w am bn | w={a,b}* m=number of a's in w n=number of b's in w).
我为它构建了以下语法,但它一直拒绝我在JFLAP中输入的每个字符串。但是为它手动创建一个解析树没有任何问题。任何人都可以为我看看,看看有什么不对吗?
S -> AST | BSU | epsilon
UT -> TU
T -> A
U -> B
A -> a
B -> b
答案 0 :(得分:0)
我已经在你的语法上下载并使用了JFLAP。我认为问题在于你没有使用JFLAP用于语法输入的符号。它不使用|
符号,但您必须提供多个规则。因此,在JFLAP表示法(以及仍然有效的语法)中,您将拥有:
S -> AST
S -> BSU
S -> ε
UT -> TU
T -> A
U -> B
A -> a
B -> b
您还需要在FLAP首选项中将空字符串设置为ε。如果您可以手动创建解析树,也可以在JFLAP中执行此操作以显示派生。