编译原理5.2.2-算符优先分析算法.ppt_第1页
编译原理5.2.2-算符优先分析算法.ppt_第2页
编译原理5.2.2-算符优先分析算法.ppt_第3页
编译原理5.2.2-算符优先分析算法.ppt_第4页
编译原理5.2.2-算符优先分析算法.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章 语法分析,5.1 自下而上分析基本问题 5.2 算符优先分析 5.3 LR分析 5.4 YACC,5.2.2 算符优先分析算法,1、算符文法 的两个性质* 2、算符文法 句型 的一般形式 3、算符文法 短语 的一般形式 4、算符优先文法 句型 的性质 5、算符优先文法 的 可归约串 6、素短语、最左素短语 7、算符优先分析算法,1、算符文法 的两个性质*,性质1: 在算符文法中任何 句型 都不包含两个相邻的非终结符. 性质2: 如果Ab或(bA)出现在算符文法的句型中, AVN ,bVT, 则中任何含b的短语必含有A.,2、算符文法 句型 的一般形式,# N1a1N2a2 . Nnan Nn+1 # Ni 为非终结符或空, ai 为终结符 根据算符文法性质 1,句型: # N1a1N2a2 . Nnan Nn+1 #,短语: Niai . ajNj+1 或 Ni 根据算符文法性质 2,3、算符文法 短语 的一般形式,4、算符优先文法 句型 的性质,如果aNb(或ab)出现在句型r中, 则a和b之间有且只有 一种优先关系, 若a b , 则在r中 必有 含b而不含a的短语存在。 若a b , 则在r中 必有 含a而不含b的短语存在。 若a b , 则在r中 含有a的短语必含有b,反之亦然。,句型: # N1a1N2a2 . Nnan Nn+1 #,ai-1 ai ai+1 aj-1 aj aj+1,5、算符优先文法 的可归约串,短语: Niai . ajNj+1 或 Ni,可归约串,6、素短语、最左素短语,设文法G(上下文无关文法), 其句型的素短语 是一个短语, 它至少包含一个终结符, 并除自身外不包含其它素短语. 最左边的素短语称最左素短语.,补充例,EE+T | T TT*F | F FPF | P P(E) | i 句型 #T+T*F+i#,短语: T+T*F+i , T+T*F , i , T, T*F 素短语: i , T*F 最左素短语: T*F,7、算符优先分析算法 p93,k:=1; Sk:= # REPEAT UNTIL a= #,1,#,REPEAT 把下一个符号读入a中; IF SkVT THEN j:= k ELSE j:=k-1; WHILE Sj a DO /归约 REPEAT Q:= Sj; IF Sj-1VT THEN j:=j-1 ELSE j:=j-2 UNTIL Sj Q; 把Sj+1.Sk 归约为某个N; k:=j+1; Sk:=N; IF Sj a OR Sj a /移进 BEGIN k:=k+1; Sk:=a END ELSE ERROR UNTIL a= #,j指向栈顶或次栈顶的终结符,EE+T | T TT*F | F FPF | P P(E) | i,补充例 1: 写出句型 #T+T*F+i# 的算符优先分析过程,求出算符优先关系表 (p90 表5.1),算符优先分析 归约过程,移进,#T,+T*F+i#,移进,#T+,T*F+i#,移进,#T+T,#T+T*,F+i#,#T+T*F,+i#,归约 T*F,T+T*F+i#,*F+i#,移进,移进,#T+N,+i#,归约 T+N,#N,+i#,移进,#N+,i#,移进,#N+i,#,归约 i,#N+N,#,归约 N+N,#N,#,接受,算符优先分析 语法树的框架,N,+,N,i,N,+,N,T,*,F,T,算符优先分析 语法树的框架,N,+,N,i,N,+,N,T,*,F,T,语法树,算符优先分析过程跳过了对单非终结符的归约 所以: 算符优先分析过程不是规范归约,补充例 2: 写出 规范归约分析过程 和 算符优先分析过程,EE+T | T TT*F | F F(E) | i 输入串 i+i#,语法树,求出算符优先关系表,EE+T | T TT*F | F F(E) | i,参考 (p90 表5.1),算符优先分析 归约过程,移进,#i,+i#,归约 i,#N,+i#,移进,#N+,i#,移进,#N+i,#,归约 i,#N+N,#,归约 N+N,#N,#,接受,算符优先分析 语法树的框架,N,+,N,i,N,i,规范归约过程,语法树,移进,#i,+i#,归约 Fi,#F,+i#,归约 TF,#T,+i#,归约 ET,#E,+i#,移进,#E+,i#,移进,#E+i,#,归约 Fi,#E+F,#,归约 TF,#E+T,#,归约 EE+T,#E,#,接受,算符优先分析 语法树的框架,语法树,补充: 算符优先分析法的局限性,G: SS;D|D DD(T)|H Ha|(S) TT+S|S,课后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论