我应该手动应用生产规则来找出这个语法生成的语言吗?这很乏味,是否有任何技巧/提示加快速度?根据上下文无关的语法找出生成的语言?
G = {{S, B}, {a, b}, P, S}
P = {S -> aSa | aBa, B -> bB | b}
编辑:我发现Matajon的答案是好的,是想通过非终端符号生成的每一种语言,然后将它们结合起来。
但是,当我有能力解决这样一些复杂的例子我仍然停留:
G = {{S, R, T}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, P, S}
P = {S -> A | AS | BR | CT,
R -> AR | BT | C | CS,
T -> AT | B | BS | CR,
A -> 0 | 3 | 6 | 9,
B -> 1 | 4 | 7,
C -> 2 | 5 | 8}
疯狂,不是吗?从过去的考试(编程语言课程)采取。
逗号是此语言版本的缩写本吗? – Davidann 2011-01-24 19:16:56
@Matajon不,这是我的不好。我编辑了文本以修复不正确的定义。谢谢。 – gremo 2011-01-24 20:46:27