语法分析和语法分析.ppt
《语法分析和语法分析.ppt》由会员分享,可在线阅读,更多相关《语法分析和语法分析.ppt(39页珍藏版)》请在三一办公上搜索。
1、编 译 原 理,第 四 章语法分析及语法分析程序,东华大学计算机学院,本章内容,自顶向下分析和自底向上分析围绕分析器的自动生成展开,东华大学计算机学院,难 重 点,语法分析是编译程序的核心部分。语法分析的作用是识别由词法分析给出的单词符号序列是否是给定文法的正确句子(程序)目前语法分析常用的方法有自顶向下(自上而下)分析和自底向上(自下而上)分析两大类。,东华大学计算机学院,自顶向下分析法:从文法的开始符号出发,反复使用文法的产生式,寻找与输入符号串匹配的推导。,自底向上分析法:从输入符号串开始,逐步进行归约,直至归约到文法的开始符号。,东华大学计算机学院,自底向上的语法分析,例:文法G:S
2、cAd A ab A a识别输入串w=cabd是否是该文法的句子,关键:句柄的确定,东华大学计算机学院,自顶向下分析的语法分析,例:文法S aCb C cd|c 为输入串w=acb建立分析树,试探的过程,问题:会产生回溯,东华大学计算机学院,自顶向下分析法的另一问题,若有文法G6S:(1)SSa(2)Sb推导baa#,问题:左递归,东华大学计算机学院,自顶向下分析法需要解决的问题,左递归对文法进行改造回溯如何唯一地确定所采用的产生式?LL(1)文法当拒绝w时,只能知道w不是句子,不知出何错及出在何处,东华大学计算机学院,本节将主要介绍确定的自顶向下分析思想和对文法的要求。确定的自顶向下分析要求
3、文法满足LL(1)文法。本节主要介绍内容为:LL(1)文法的定义和判别 非LL(1)文法的等价变换 确定的自顶向下分析方法 递归子程序法 预测分析方法,东华大学计算机学院,4.1 自顶向下的语法分析,消除文法的左递归带回溯的递归子程序回溯的消除及LL(1)文法,东华大学计算机学院,4.1.1 消除文法的左递归,例:AA|A的解是:*引入新的非终结符A,令其产生*,则有:A A A A|对于 AA1|A2|An|1|m消除直接左递归 A1A|mA 及 A 1A|nA|,东华大学计算机学院,消除文法左递归的矩阵方法,设文法的非终结符为 X1,X2,Xn,Xi的产生式分为以VN符和VT符打头的两类.
4、将|改写为+,有Xi=X11i+X22i+Xnni+i 其中,i 是以VT符打头的产生式之和,ki 可以为 这样,文法G可表示为X=XA+B。,东华大学计算机学院,消除文法左递归的矩阵方法,该方程有解:X=BA*为得到A*,由于,则有:X=BZ,Z=I+AZ其中X的产生式以VT符打头,而Z的产生式以ijV*打头,因此将不含左递归.注意,由此所得的文法含有无用符号和无用产生式,需化简,东华大学计算机学院,消除文法左递归的例子,例4.1 SSa|Ab|a ASc相应的矩阵为,展开矩阵,得S aZ11A aZ12Z11aZ11|cZ21|Z12 aZ12|cZ22Z21 bZ11Z22|bZ12消除
5、文法中无用产生式S aZ11Z11aZ11|cZ21|Z21 bZ11,东华大学计算机学院,消除回溯的条件,候选式的终结首符集FIRST()=a|*a,aVT,V*时,FIRST()若A-产生式的各候选式i(i=1,2,m)都推不出,且 FIRST(i)互不相交,则当扫描当前输入符号aiFIRST(j)时,唯一可用于推导的产生式只能是Aj。,东华大学计算机学院,消除回溯的条件,例如,文法G1S:SAAAaAb|*,A-产生式有两个候选式,两集不相交FIRST(aAb)=aFIRST(*)=*设输入串为aa*bb*,最左推导 SAA(a)aAbA(a)aaAbbA(*)aa*bbA(*)aa*b
6、b*(#)无回溯的条件:FIRST(i)FIRST(j)=,东华大学计算机学院,消除回溯的条件,存在某候选式i,i*,即FIRST(i),有两种选择匹配当前扫描符号a:存在某j,使j推导出以a打头的符号串选择i,让跟随在后的符号串推导出以a打头的符号串。,东华大学计算机学院,消除回溯的条件,若两种选择都可行,则回溯不可避免。因此,要求当i*时,跟在后的符号串不能推导出其它j所能推导出的首终结符符号串。定义:A后的所有终结符之集FOLLOW(A)=a|S#*Aa,aVT#,V*当A为一句型的尾符号时,#FOLLOW(A)。,东华大学计算机学院,消除回溯的条件,无回溯的条件为:若i*,则FOLLO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语法分析

链接地址:https://www.31ppt.com/p-6609160.html