首页 文章

这是一种无上下文的语言吗?

提问于
浏览
0

这是语言

L = {a^i b^j a^i b^k | i, j, k >= 0}

然后,我可以尝试这种语言的语法:

S -> ABCD  
A -> a | aA | lambda  
B -> b | bB | lambda  
C -> a | aC | lambda  
D -> b | bD | lambda

它没有上下文......语法是正确的吗?

1 回答

  • 0

    你的语法允许 aaba ,它不应该,因为应该总是有偶数的 a

    ABCD
    aABCD
    aaBCD
    aabCD
    aabaD
    aaba
    

    一个正确的答案是:

    Start → A B
    
    A → a A a | B
    B → bB | ε
    
    • B 生成任意数量的 b (包括无) .

    • Aa 的序列,后跟 B ,后跟相同数量的 a

相关问题