编译原理笔记4 文法与语言

来源:互联网 发布:网络流行语的翻译建议 编辑:程序博客网 时间:2024/05/16 18:05

1.字母表与符号串

2.连接(乘积)运算:串集间的乘积;串集的方幂:串集的自身乘积

  例如:A={a,b};B={c,e,d}

  AB={ac,ae,ad,bc,be,bd}

  1A^0={ekeseilong}

  2)字母表An次方幂是字母表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是一个四元式(VNVTPS

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->BaA->aa属于终结符闭包。——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.句子二义性:如果文法的一个句子存在对应的两颗或两棵以上的语法树,则称句子是二义的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


0 0
原创粉丝点击