初步理解:点击打开链接
1.字母表与符号串
2.连接(乘积)运算:串集间的乘积;串集的方幂:串集的自身乘积例如:A={a,b};B={c,e,d}
则AB={ac,ae,ad,bc,be,bd}
1)A^0={ekeseilong}
2)字母表A的n次方幂是字母表A上所有长度为n的串集。
3.字母表的闭包与正闭包
1)字母表A的闭包(A*)
2)字母表A的正闭包(A+),除了空串的所有次方幂和
4.文法:文法是描述语言的语法结构的形式规则
1)非终结符:出现在规则左部、用<>括起来、表示一定语法规则的词,用Vn表示
2)终结符:语言中不可再分割的字符串。终结符是组成句子的基本单位。用VT表示
3)开始符号:表示所定义的语法范畴的非终结符,又叫识别符号
4)产生式:形式A->
5)推导:从开始符号开始,通过使用产生式的右部取代左部,最终能产生语言的一个句子的过程。最左推导和最右推导成为规范推导。
6)规约:推导的逆过程,从源语言的句子开始,通过规则的左部取代右部,最终达到识别符号的过程。——最左(右)规约是最右(左)
推导的逆过程。
7)句型、句子和语言:——句型:从文法的识别符号,每步推导(包括0步推导)得到的字符串阿尔法。——句子:是仅含终结符的句型。
——语言:语言是由S开始通过1步或1步以上推导所得句子的集合。记为:L(G)
8)文法规则递归定义。
9)文法规则的扩充表示——扩充的BNF表示。——()提因子。——{}重复次数的指定。——[]任选符号。
10)元语言符号:用来说明文法符号之间关系的符号。如->、|。
5.文法与语言的形式定义。
1)Chomsky对文法的定义:从形式上说文法G是一个四元式(VN,VT,P,S)
2)根据对文法产生式的限制分为四类。0.1.2.3型文法。
3)0型文法,产生式的左边至少有一个符号,且至少有一个非终结符。——识别0型语言的自动机成为图灵机(TM)。——0型文法是对产生
式限制最少的文法。——任何0型都是递归可枚举的。
4)1型文法——P中产生式除了开始符号可以产生空串,其他规则右部的长度一定大于等于左部;如果开始符号产生空串,开始符号就不能
出现在产生式右部。 或者,规则中,除可能有开是符号产生空串外,都有aAb->aYb,其中a,b属于闭包,A属于非终结符,Y属于正闭包
。
5)—识别的自动机是线性界限自动机 ——其实1型文法是个长度增加文法,只能不变或增不能减。
6)2型文法:产生式左部一定是非终结符,产生式右边可以是任意符号,包括空串;非终结符的替换不必靠了上下文。——识别2型语言的
自动机称为下推自动机(PDA);2型文法也称上下文无关文法。
7)3型文法——规则中产生式的左边是一个非终结符,右边是终结符 | aB,或者A->Ba,A->a,a属于终结符闭包。——3型文法的产生式要
么全是右线性产生式,要么是左线性产生式,不能即是左右时右。——3型文法也称为正规文法RG——识别3型语言的自动机称为有限状态自
动机。
8)词法分析和语法分析中对产生式的限制——不存在P->P。——非终结一定能够转换为终结符。
文法的构造与简化:
1.由于同一语言可以用不同的文法来描述,显然应当选择产生式的个数最少,最符合语言特征的来描述。
2.在文法中,有些产生式对推导不起作用,要删除掉。
3.简化步骤:1)查找有无形如p-〉p的产生式,有就删除。2)若某个产生式在推到中永远不会被用到,就删掉。3)不能推导出终结符的,
删除它。4)整理剩余产生式就得到了简化的文法。
4.构造无空串产生式的上下文无关文法。规则中要么不出现空串产生式,要么只有开始符号有空串产生式。——如果开始符号能推出空串,
则开始符号不出现在任何产生式右部。
语法树与文法的二义性
1.定义:用来表示语言句子结构的树
2.作用:使用语法树可以使语法分析过程直观、形象,易于判断文法二义性。
3.语法树中的概念:1)子树:所有的非叶子结点连同它的所有子孙结点构成子树。2)修剪子树:减去子树树根的所有孩子。3)句型:在
一棵语法树生长过程中的任何时刻,所有那些叶子结点排列起来就是一个句型。4)短语:如果Z=〉xUy,且U=〉+ u,则称u是句型w中相对
于U的短语。简单短语:若短语是某一子树根经过1步推导得到的,则称之为该字数根的简单短语。5)句柄:句型中的最左简单短语。注:
句柄是最左归约时要寻找的简单短语。
4.句子二义性:如果文法的一个句子存在对应的两颗或两棵以上的语法树,则称句子是二义的