Computer science 特定语言的上下文敏感语法
如何构造生成这种语言的语法? 构造生成L的语法:Computer science 特定语言的上下文敏感语法,computer-science,formal-languages,context-sensitive-grammar,Computer Science,Formal Languages,Context Sensitive Grammar,如何构造生成这种语言的语法? 构造生成L的语法: L = {a^n b^m c^k|k>n, k>m} 我相信我的作品应该是这样的: S-> ABCC A-> a|aBC|BC B-> b|bBC C-> c|Cc CB->BC 我们的想法是从2个c开始,并且总是多保留一个c,然后用c->c | Cc,我想要多少c就多少c。 我的C产品如何能记住m和n的数字呢?一个选项是:生成一个字符串,每次生成一个C,您 不要生成任何其他内容 生成一个a与之配对
L = {a^n b^m c^k|k>n, k>m}
我相信我的作品应该是这样的:
S-> ABCC
A-> a|aBC|BC
B-> b|bBC
C-> c|Cc
CB->BC
我们的想法是从2个c开始,并且总是多保留一个c,然后用c->c | Cc,我想要多少c就多少c。
我的C产品如何能记住m和n的数字呢?一个选项是:生成一个字符串,每次生成一个
C
,您
- 不要生成任何其他内容
- 生成一个
与之配对a
- 生成一个
与之配对,或b
- 生成一个
和一个a
以与之配对b
c
,这些c在字符串的另一侧与a
s和B
s配对。A
s和B
s的产品都在那里,以确保它们在扩展之前按照正确的顺序重新排序
一个不考虑的情况是,如果有一个字符串ANCn+K,那么它可以被固定如下:
→ X | Y
X→ c | MXc | Xc
M→ A | B | AB
卑诗省→ 卑诗省
Ab→ ab
BA→ AB
Y→ aYc | Yc | c
希望这有帮助 这是个好主意!我想你忘了添加规则Ba->aB!如果我有这个字符串bbbaaaccc,我可以开始使用规则BA->AB,但我可以在这样的情况下使用:abaabbccc,没有规则在aBb中转换终端符号中的B。这是一个正式正确的情况,我不能再生成我的字符串了吗?