目录
字母表
特点:有穷,可区分,非空,不可分(整体性)
字母表={0,1},给出上字母表的下列语言的形式表示:
所有不包含3个连续0的串:{001,01,1}*
文法
格式:G=(V,T,P,S)
V:变量的非空有穷集
T:终极符的非空有穷集
P:产生式的非空有穷集
S:文法G的开始符号
字母表={a,b,c},构造下列语言的文法:
定理:
(1)一般地,由开始符号推出来的任意符号行叫做G的句型。
(2)一个语言可以被多个文法产生,产生相同语言的文法被称是等价的。
文法的乔姆斯基体系(重点)
文法G=(V,T,P,S),G为0型文法(短语结构文法PSG)——L(G)为0型语言(短语结构语言PSL,递归可枚举集人r.e.)
任意α->β∈P,均有|β|≥|α|成立,G为1型文法(上下文有关文法CSG)——L(G)为1型语言(上下文有关语言CSL)
任意α->β∈P,均有|β|≥|α|成立,并且α∈V成立,G为2型文法(上下文无关文法CFG)——L(G)为2型语言(上下文无关语言CFL)
对于任意α->β∈P,α->β均具有形式A->w,A->wB;其中A,B∈V,w∈T+,G为3型文法(正则文法RG)——L(G)为3型语言(正则语言RL)
定理:
(1)当文法G是CFG时,L(G)却可以是RL。
(2)当文法G是CSG时,L(G)可以是RL、CSL。
(3)当文法G是短语结构文法时,L(G)可以是RL、CSL和CSL。
线性文法
设G=(V,T,P,S),如果对于任意α->β∈P,α->β均具有如下形式:A->w,A->wBx其中A,B∈V,w,x∈T*,则称G为线性文法。
右线性文法
设G=(V,T,P,S),如果对于任意α->β∈P,α->β均具有如下形式:A->w,A->wB其中A,B∈V,w∈T*,则称G为右线性文法。
左线性文法
设G=(V,T,P,S),如果对于任意α->β∈P,α->β均具有如下形式:A->w,A->Bw其中A,B∈V,w∈T*,则称G为右线性文法。
定理:
(1)左线性文法与右线性文法等价。
(2)左线性文法的产生式与右线性文法的产生式混用所得到的文法不是RG。
例:语言{0123456}的左线性文法和右线性文法的构造。
空语句
定理:
(1)如果L是CSL/CFL/RL,则L∪{ε}/L-{ε}仍然是CSL/CFL/RL
(2)允许在RG、CFG、CSG中含有空产生式,允许CSL、CFL、RL包含空语句ε。
(3)设G=(V,T,P,S)为一文法,则存在与G同类型的文法G′=(V′,T,P′,S′),使得L(G)=L(G′),且G′的开始符号S′不出现在G′的任何产生式的右部。