22 正规文法与正规语言

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例 设 G ({S , A, B},{0,1}, P, S ) ,其中 P : S 0 A |1B | A 10 A |1 B 01B | 0 从各个产生式的具体形式可以看出, G 是一个右线性文法,所以是 一个正规文法 容易证明 L(G) (01)* (10)* 由于这个语言可由一个上下文无关文法产生,所以 L(G) 是一个上下 文无关语言。 此外, L(G) 也可以由下面的左线性文法产生: S A1| B 0 | A A10 | 0 B B 01|1
形式语言与自 动机理论
2010-2011
第 2 章 正规文法与有限自动机
正规语言是Chomsky文法体系中最简单的一类语言。产 生这种语言的文法是正规文法,识别这类语言的是有限自 动机。此外,这类语言也可以用正规表达式表示。
Leabharlann Baidu.1 正规文法和正规语言
正规文法是Chomsky文法体系中最简单的一种文法。说 它简单,是指它的产生式的形式简单,因为产生式集是一 个文法的核心。
定义 2.3 设 G (V , T ; P, S ) 为一个文法 1) 如果 G 中的每个产生式都有 A, B V , w T * Aw 或 A wB 的形式,则称 G 为一个右线性文法。 2) 如果 G 中的每个产生式都有 A, B V , w T * Aw 或 A Bw 的形式,则称 G 为一个左线性文法。 右线性文法和左线性文法统称正规文法(regular grammar,RG) 。 正规文法产生的语言称为正规语言(regular language,RL) 。
这个定理和推论的证明思路是很简单的:引入新的变量和新的产生式, 把右边长度大于 1 的产生式分解为终极符串长度等于 1 的产生式。 例如,假若右线性文法中有一个产生式 A a1a2 an B 那么,引入 n 1个新变量 E1 , E2 , , En1,把上面产生式用 n 个下面的产生 式代替 A a1E1, E1 a2 E2 , , En1 an B
正规文法的规范形式 定理 2.3 设 G 为一个右线性文法,那么存在一个文法 G ' ,使得 L(G ') L(G)
S , A a, A aB
而且 G ' 中的产生式都有 3 种形式。其中 S 是初始符, A, B 是变量, a 是终极符。 推论 2.1 设 G 为一个左线性文法,那么存在一个文法 G ' ,使得 L(G ') L(G)
S , A a, A Ba
而且 G ' 中的产生式都有 3 种形式。 定理 2.3 和推论 2.1 是同一个意思,只不过一个是针对右线性文法,另 一个针对左线性文法。它们都指出,左、右线性文法中的产生式右边的 串中,不仅变量只能出现一个(最左端,或最右端) ,而且右边出现的 终极符串也可以改为长度最大为 1。
下列各文法生成什么语言?
1. S→0S S→ 0 2. S→S0 S→0 3. S→SS S→0 4. S→00S 5. S→00S 6. S→000S 7. S→0S 8. S→0S S→ε S→0 S→ε S→1
S→1S S→0 S→1S S→ε
作业
试写出下列语言的正规文法: 1. 以 a 开头以 b 结尾的所有 a-b 串。 2. 含 aaa 的所有 a-b 串。 3. {aibjck | i,j,k≥1}
相关文档
最新文档