2 、∑﹡的子集 L和 M的(连接)积
LM ={ αβ|
α∈L&β∈M}
即集合 LM 中的符号串是由 L 和 M的符号串
连接而成的。
注意,一般而言, LM≠ML ,但 (
LM)W=L(
M
W )。
3 、 V 自身的 n 次(连接)积:
记为 Vⁿ=VV……V
规定: V°={ε }
令 V﹡
= V0
∪V¹∪V²∪V ³∪……
称 V*
是 V 的闭包。记 V﹢
=VV*
,称 V+
是 V 的正
则闭包。
13.
例: L表示字母集合 {A,B,…,Z , a,b,….z},D 表示
数位的集合 {0,1 ,… 9}, 则
D
L
4
L
*
L
*
)
( D
L
L
D
LD
14.
D
L
4
L
*
L
*
)
( D
L
L
D
字母和数位的集合:语言包含 62 个长度为
1 的串,每个串是一个字母或一个数位。
LD
所有由字母构成的串的集合,包括空串 ε
包含 520 个长度为 2 的串的集合,每个
串是一个字母跟一个数位
所有由四个字母构成的串的集合
所有由字母开头的,由字母和数位组成的串的集合
由一个或多个数位构成的串的集合
从一个具体英文例句的分析出发,引进有关上下文无关文法的
基本概念。比如,我们写了这样一个句子:
He gaveme a book .
这是一个语法上正确的句子,因为它满足英语中的基本语法规则。
有下面语法规则:
<句子>→<主语><谓语><间接宾语><直接宾语>
<主语>→ < 代词 >
<谓语>→ < 动词 >
<间接宾语>→<代词>
<直接宾语>→<冠词><名词>
< 代词>→ He
<代词>→ me
<冠词>→ a
<动词 >→gave
<名词>→ book
17.
<句子> ==> <主语><谓语><间接宾语><直接
宾语>
==><代词><谓语><间接宾语><直接宾语>
==> He <谓语><间接宾语><直接宾语>
==> He <动词><间接宾语><直接宾语>
==> He gave <间接宾语><直接宾语>
==>He gave <代词><直接宾语>
==> He gave me <直接宾语>
==> He gave me <冠词><名词>
==> H gave me a <名词>
==> He gave me a book
假定 G是一个文法, S 是它的开始符号。
如果 S => α ,则称 α 是一个句型。仅含
终结符号的句型是一个句子。
文法 G 所产生的句子的全体是一个语言,
将它记为 L(G)
L(G) = { α|S => α&α∈VT
﹡
}
28.
E =>(E) =>(E+ E) =>(E*E + E ) =>
( i*E + E) =>(i * i + E) =>(i * i + i)
是从开始符号 E 到 (i*i + i )的一个推导。
而 E ,( E ),( E + E ),( E*E +
E ),…,( i*i + i )都是这个文法的
句型。
例: G =({E}, {i, +, *, (, ) } , P , E)
P : E E + E | E * E | ( E ) | i
句子 ( i * i + i) 的语法树:
(1) E (E) (E + E) (E * E + E) (i * E + E) (i *i + i)
(2) E (E) (E + E) (E * E + E) (i * E + E) (i *i + i)
例题与习题解答
[ 例 2.1]:
试构造生成语言 L={an
bn
ci
|n1, i 0} 的文法
分析:要求 a 和 b 的个数一样多,并至少为一个,而
c 的个数为 0 个以上即可,所以可以用一个非终结
符去生成 an
bn
串,用另一个非终结符去生成 ci
。
G(Z): ZAB
A aAb|ab
B cB|
44.
[ 例 2.2]:
已知语言 L={an
bbn
| n 1}, 写出产生 L 的文法。
[ 解 ] : G[S]: S aAb
A aAb|b
[ 例 2.3] :
已知文法 G=({A,B,C},{a,b,c},A,P)
其中产生式 P 由以下组成:
A abc A aBbc
Bb bB Bc Cbcc
bC Cb aC aaB
aC aa
问:此文法表式的语言是什么?