设计一个无上下文语法语言,其中a的长度为b的双倍长度

时间:2015-10-26 04:47:38

标签: theory context-free-grammar context-free-language

我想知道是否有人可以帮我设计无上下文语法

  

用于{w |的语言| w | a = 2 | w | b}

例如w = aab,aaaabb,aaaaaabbb,baa,aba,aabbaaaba ......

S-> aab |咩| aba | SS | abSa | baSa | aaSb | bSaa不会产生aaabba。

所以我的下一个问题是,看起来像这样的语法是不是太模糊了 - >

**

S-> aab | baa | aba | aSab | aSba | aaSb |abSa |aabS | abaS | Saab | Saba | Sbaa | SS | bSaa | baSa | baaS ?

**

提前谢谢

2 个答案:

答案 0 :(得分:1)

您发布的所有语法都不能生成aaabba,您需要这样的内容:

  

S->哈萨| aHSa | aSHa | aSaH | HSaa | SHaa | SaHa | SaaH | HaaS | aHaS | aaHS | aaSH | epsilon

     
    

H - > B'/ P>   

它可以用更短的语法来完成,但我认为这样做。

答案 1 :(得分:0)

试试这个:

new Vue({
  el: "#app",
  data: {
    message: "Hello world"
  }
});

window.setTimeout(function() {
  document.getElementById("app2").removeAttribute("v-cloak");
}, 500);