词法分析,算符优先语法分析与翻译编译课程设计报告书.docVIP

词法分析,算符优先语法分析与翻译编译课程设计报告书.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华扛#力*孑 课程设计报告 (2010 — 2011年度第1学期) 名 称: 编译技术课程设计B 题 目: 词法分析器设计 算符优先分析程序设计 基于算符优先分析方法的语法制导翻译稈序设计 院 系: 计算机系 班 级: 计科1001 学 号: 2010090101** 学生姓名: 指导教师 设计周数: Li 成 绩: 日期:2013年1月9日 一、课程设计的目的与要求 1.1词法分析器设计的实验目的 本实验是为计算机科学与技术专业的学生在学习《编译技术》课程后,为加深对课堂教 学内容的理解,培养解决实际问题能力而设置的实践环节。通过这个实验,使学生应用编译 程序设计的原理和技术设计出词法分析器,了解扫描器的组成结构,不同种类单词的识别方 法。能使得学生在设计和调试编译程序的能力方面有所提高。为将来设计、分析编译程序打 下良好的基础。 1.2词法分析器设计的实验要求 设计一个扫描器,该扫描器是一个子程序,其输入是源程序字符串,每调用一次识别并 输出一个单词符号。为了避免超前搜索,提高运行效率,简化扫描器的设计,假设该程序设 计语言中,基本字(也称关键词)不能做一般标识符用,如果基本字、标识符和常数之间没 有确定的运算符或界符作间隔,则用空白作间隔。 单词符号及其内部表示如表1-1所示,单词符号中标识符由一个字母后跟多个字母、数 字组成,常数由多个十进制数字组成。单词符号的内部表示,即单词的输出形式为二元式: (种别编码,单词的屈性值)。 表单词符号及其内部表示 单词符号 种别编码 单词的属性值 BEGIN 1 — IF 2 — THEN 3 — ELSE 4 — END 5 — 标识符 6 在名字表中的地址 整塑常数 7 十进制整数 + 8 — * 9 ** 10 — ( 11 __ ) 12 — 算符优先分析程序设计的目的和要求 2」算符优先分析程序设计的实验目的 本实验是为计算机科学与技术专业的学生在学习《编译技术》课程后,为加深对课堂教 学内容的理解,培养解决实际问题能力而设置的实践环节。通过这个实验,使学生应用编译 程序设计的原理和技术,设计、编写和调试算符优先分析程序,了解算符优先分析程序的组 成结构,掌握实现通用算符优先分析算法的方法。能使得学生在设计和调试编译程序的能力 方面有所提高。为将来设计、分析编译程序打下良好的基础。 2.2算符优先分析程序设计的实验要求 算符优先分析属于自下而上的分析方法,该语法分析程序的输入是终结符号串(即单词 符号串,以一个“#”结尾),如果输入串是句子则输出“YES”,否则输出“NO”和错误 信息。 算符优先分析过程与非终结符号无关,当由文法产生了优先关系之后文法也就失去了作 用,本题目给出文法的目的是为了便于对语法分析结果进行验证。 文法 设算符优先文法G为: Et E + T\T T^T^F\F FtPT F|P PT(E)|i 说明:i为整型常数或者为标识符农示整型变量;使用中[用**农示。 优先关系表设优先关系表如表1-2所示。 表1_2优先关系表 + * t ■ 1 ( ) + * t j ( ) n 基于算符优先分析方法的语法制导翻译程序设计的目的和要求 3」基于算符优先分析方法的语法制导翻译程序设计的实验目的 本实验是为计算机科学与技术专业的学生在学习《编译技术》课程后,为加深对课堂教 学内容的理解,培养解决实际问题能力而设置的实践环节。通过这个实验,使学生应用编译 程序设计的原理和技术,通过设计、编写和调试语法制导翻译程序,掌握从一种语句的语法 和语义出发,构造相应的语义子程序,实现基于算符优先分析方法的语法制导翻译的方法。 能使得学生在设计和调试编译程序的能力方面有所提高。为将来设计、分析编译程序打下良 好的基础。 3.2基于算符优先分析方法的语法制导翻译程序设计的实验要求 算符优先分析方法是通过反复把输入符号移进分析栈,使用优先关系表在分析栈顶寻找 最左素短语,将其归约为一个非终结符号而实现的。这个分析过程与非终结符号无关,当由 文法产生了优先关系之后文法也就失去了作用(所以本题目无需给出文法)。 基于算符优先分析方法的语法制导翻译是在算符优先语法分析的基础上进行翻译工作 (即语义分析),每当将一个最左素短语归约为一个非终结符号时,就调用对应产生式的语 义子程序,去完成相应的语义翻译工作,这步归约使用的产生式对非终结符号不加区分(即 将所有的非终结符号用一个通用的非终结符号表示)。 语法制导翻译程序的输入是终结符号串(即单词符号串,以一个“#”结尾),如果输 入符号串是句子,则按照其语义进行翻译,输出等价的四元式序列(作为练习应显示输出)。 上机前的准备 为了充分利用上机吋间,在

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档