0

我似乎无法弄清楚不受限制的语法

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
4

1 回答 1

0

我已经在你的语法上下载并使用了 JFLAP。我认为问题在于您没有使用 JFLAP 用于语法输入的符号。它不使用|符号,但您必须提供几个规则。因此,在 JFLAP 表示法(以及仍然有效的语法)中,您将拥有:

S -> AST 
S -> BSU 
S -> ε
UT -> TU
T -> A
U -> B
A -> a
B -> b

您还需要在 FLAP 首选项中将空字符串设置为 ε。如果您可以手动创建解析树,您也可以在 JFLAP 中执行此操作以显示推导。

于 2015-05-19T15:06:06.083 回答