论算符优先分析法_第1页
论算符优先分析法_第2页
论算符优先分析法_第3页
论算符优先分析法_第4页
全文预览已结束

下载本文档

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

文档简介

福建狡林丈修东呀修院DONGFANGCOLLEGE,FUJIANAGRICULTUREANDFORESTRYUNIVERSITY课程名称: 编译原理 论文题目: 论算符优先分析法 系别: 计算机系 年级:10级专业:计算机科学与技术 班级:1班学号: 姓名: 成绩: 任课教师: 2012年12月20日论算符优先分析法一、 算符优先分析法导入本学期我们学习了《编译原理》这门课程,《编译原理》是计算机专业的一门重要专业课,介绍编译程序构造的一般原理和基本方法。其中我们知道编译程序的功能是把用高级语言编写的源程序翻译成等价的机器语言货汇编语言表示的目标程序,这一工作过程可以划分为5个阶段:词法分析、语法分析、语义分析及中间代码生成、代码优化和目标代码生成。其中语法分析程序的功能是根据语言的语法规则,识别出各种语法成分,并在分析过程中进行语法检查,检查所给单词符号序列是否该语言的一个句子,是则作为输出,不是则表明错误以及错误性质和位置。语法分析分为自上而下分析法和自下而上分析法;其中自下而上分析法又有LR分析法和算符优先分析法。二、 算符优先分析法介绍自下而上分析法都是按照“移进—归约”法的原理建立起来的一种语法分析方法,这种个分析发的基本细想是用一个寄存文法符号的先进后出栈,将输入符号一个一个的按从左到右扫描顺序移入栈中,边移入边分析,当栈顶符号串形成某条规则右部是就进行一次归约,即用该规则左部非终结符低缓相应规则右部符号串,把栈顶被归约的这一串符号称为可归约串。重复这一过程直到整个输入串分析完毕。最终若栈中剩下句子右界符“$”和文法的开始符号,则所分析的输入符号串是文法的正确句子,否则就不是文法的正确句子,报告错误。算符优先分析法是一种简单、直观的自下而上分析法。这种分析法特别适合于分析程序语言中各类表达式且宜于手工实现。算符优先分析法是依照算术表达式的四则运算过程而设计的一种语法分析法。这种分析法收线要规定运算符之间的优先关系和合作性质,然后借助这种关系,比较相邻运算符的优先级来确定句型的可归约串并进行归约。在算符优先分析法中需要算符优先关系表的构造和优先函数的构造。构造算符优先关系表是输入算符优先文法和输出关于文法G的优先关系表;构造优先函数是输入一张优先关系表和输出优先关系表的优先函数,其中方法一是逐次加1法(Floyd方法),方法二是Bell有向图法。三、 算符优先分析法优缺点需要指出的是,算符优先分析法并不是对所有的文法都合适它对文法有一定的要求,要求文法是算符优先文法,也就是说,只有当描述语言的文法是算符优先文法,才能采用算符优先分析法进行语法分析。由于算符优先分析法跳过了所有单非产生式之间的归约,这样算符优先分析法比规范规约要快的多,这既是优点也是缺点,由于忽略非终结符在归约过程中的作用,可能导致把本来不是句子的输入串误认为是文法句子。简单整理下算符优先分析法的优缺点:优点:1.算符优先分析法能方便的构造表达式的语法分析器,分析速度也比较快;2.算符优先分析文法使用的范围比简单文法大的多;缺点:1.诊查错误的能力比较弱,使用的范围小;2.可能会把错误的句子正确识别;3.某些文法不满足算符优先文法的要求。四、 总结语法分析是编译程序的核心部分,算符优

温馨提示

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

评论

0/150

提交评论