【问题标题】:Construct grammar for the following languages为以下语言构建语法
【发布时间】:2016-02-15 22:13:32
【问题描述】:

我刚参加了期中考试,但无法回答这个问题。

为以下语言构建语法 L={(a* ba* ba*)*}

【问题讨论】:

  • 嗯——这不是你的语法吗?

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


【解决方案1】:

最外层的规则是 Kleene 闭包,*。括号内的内容本身就是一种语言。这为我们的语法提出了以下产生式:

S := e
S := SL

这里,e 是空字符串,L 是生成与括号内的正则表达式对应的语言的语法的开始符号。

现在我们的语言是以任意数量的as 开头,然后是b,然后是任意数量的as,然后是b,然后是任意数量的@987654329 @s。我们可以先定义“任意数量的as”:

A := e
A := Aa

然后L的定义就很简单了:

L := AbAbA

因此完整的语法是:

S := e
S := SL
L := AbAbA
A := e
A := Aa

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多