Presentation is loading. Please wait.

Presentation is loading. Please wait.

吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 9.1.4 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *

Similar presentations


Presentation on theme: "吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 9.1.4 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *"— Presentation transcript:

1 吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学

2 定义 9.1.4 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T * |S  *w} 。 在下面的两个例子中,我们找到了 由语法结构产生出来的语言。 例 9.1.3 设 G 是一个语法结构,字母表为 V={S , A , a , b} ,终止符集合 T={a , b} ,初始 符号为 S ,产生式 P={S→aA , S→b , A→aa} , 这个语法的语言 L ( G )是什么? 解:用产生式 S→aA 可以从初始状态 S 演绎出 aA ,用产生式 S→b 可以演绎出 b ,用产生式 A→aa 从 aA 可以演绎出 aaa ,没有任何其它的词可以 被演绎出来了,所以 L ( G ) ={b , aaa} 。

3 例 9.1.4 设 G 是一个语法结构, 字母表为 V={S , 0 , 1} ,终止符集 合 T={0 , 1} ,初始符号为 S ,产生式 P={S→11S , S→0} ,这个语法的语 言 L ( G )是什么? 解:用产生式 S→0 可以从初始状态 S 演绎出 0 , 用产生式 S→11S 可以演绎出 11S ,从 11S 可以 演绎出 110 或者 1111S ,从 1111S 可以演绎出 11110 和 111111S 。在演绎的过程中,我们或 者在 S 前加两个 1 ,或者把 S 替换成 0 而结束演 绎。所以 L ( G ) ={0 , 110 , 11110 , 1111110 , … } ,这个集合中的符号串都是以 偶数个 1 开头,然后由一个 0 结束。 我们经常遇到构造一个给定语言的语法的问题。 下面我们就讨论这类问题。

4 例 9.1.5 给出一个语法结构, 可以产生集合 {0 n 1 n |n=0 , 1 , 2 … } 。 解:这个集合中的符号串的 特点是若干个 0 后跟同样多的 1 , 其中包括空串。要想产生这个集 合,我们需要用两个产生式,第 一个是连续地分别在符号串前面 和后面同时加一个 0 和 1 来得到更长的串,第二个 是把 S 替换成空串。所以此语法是 G= ( V , T , S , P ),其中, V={0 , 1 , S} , T={0 , 1} , S 是初始符,产生式为 S→0S1 ; S→λ 。 这个例子的符号串是若干个 0 后跟若干个 1 , 0 的 个数和 1 的个数相同,下面的例子也是考虑若 干个 0 后跟若干个 1 ,但 0 的个数与 1 的个数可 以不同。

5 例 9.1.6 给出一个语法结构, 可以产生集合 {0 m 1 n |m 和 n 是非负整数 } 。 解:我们将给出两个产生这个 集合的语法 G 1 , G 2 ,这说明两个 不同的语法可以产生同一个语言。 语法 G 1 的字母表是 V={S , 0 , 1} , 终止符集合 T={0 , 1} ,产生式为 S→0S , S→S1 ,和 S→λ 。这个语法就能产生我们 要求的集合,因为用第一个产生式 m 次就可以 把 m 个 0 放在串的前面,用第二个产生式 n 次就 可以把 n 个 1 放在串的后面。 语法 G 2 的字母表是 V={S , A , 0 , 1} ,终止符集 合 T={0 , 1} ,产生式为 S→0S , S→1A , S→1 , A→1A , A→1 和 S→λ 。这个语法也能产生我们 要求的集合。

6 有的时候一个简单的集合却 要一个很复杂的语法才能产 生出来,我们来看下面的例子。 例 9.1.7 产生集合 {0 n 1 n 2 n |n=0 , 1 , 2 … } 的语法 是 G= ( V , T , S , P ), 其中 V={0 , 1 , 2 , S , A , B} , T={0 , 1 , 2} ,初始状态是 S ,产生式是 S→0SAB , S→λ , BA→AB , 0A→01 , 1A→11 , 1B→12 , 2B→22 。这个语法是 能产生这个集合的最简单的语法。

7 9.1.2 语法结构的类型 根据所使用的产生式可以对 语法结构进行分类 0 型语法对产生式没有任何 限制; 1 型语法的产生式都 形如 w 1 →w 2 ,其中 w 2 的长度 大于等于 w 1 的长度或者 w 1 →λ 的形式; 2 型语法只有形如 w 1 →w 2 这样的产生式, 其中 w 1 是单个的非终止符; 3 型语法只有形 如 w 1 →w 2 这样的产生式,其中 w 1 =A 并且 w 2 =aB 或者 w 2 =a, 其中 A 和 B 是非终止符号,a 是终止符号,也可以是 w 1 →λ 的形式。

8 据此我们可以看出,任何一个 3 型语法都是一个 2 型语法,任 何一个 2 型语法都是一个 1 型语 法,任何一个 1 型语法都是一个 0 型语法。 2 型语法也称为上下 文无关语法,因为任何一个非 终止的符号出现时,都可以用 它在左面的产生式替换它而不用考虑符号 串中其它的字符。由 2 型语法产生的语言 称为上下文无关语言。当有一个形如 lw 1 r→1w 2 r 这样的产生式时(而不是 w 1 →w 2 )这个语法称为 1 型或者上下文有 关语法,因为 w 1 只有前后有 l 和 r 时,才 能被 w 2 替换。 3 型语法也称为正则语法 ,由正则语法产生的语言称为正则语言 。


Download ppt "吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 9.1.4 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *"

Similar presentations


Ads by Google