- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2017届课程设计
C语言编译器的设计与实现
学生姓名: 库尔班江.阿瓦克日
学 号: 5011212524
所属学院: 信息工程学院
专 业: 计算机科学与技术
班 级: 计算机17-1班
塔里木大学教务处制
不要删除行尾的分节符,此行不会被打印目录
第1章 编译器概述 2
1.1编译器概述 2
第2章 编译器设计 4
2.1词法分析设计 4
2.1语法分析设计 6
2.1中间代码生成 9
2.1语法翻译实现方法 11
第3章 数据结构说明 12
3.1数据结构说明 12
第4章 编译程序运行测试 15
4.1编译程序运行测试 15
参考文献 18
编译器概述黄金分割的 哈工大回归热大 【】个阿訇 妇孺诶航天拖后腿航天皇太后
编译器概述
编译器的任务是:输入 *.asm 源程序文件,输出 *.obj 目标代码文件和 *.lst 列表文件——对输入的源程序进行扫描,找出所有词法和语法的错误,然后生成有待重定位的目标代码(中间文件)和提供查看信息的列表文件。中间文件后缀名为obj,是连接器的输入文件。
一个编译器的整个工作流程是划分成一个一个阶段进行的,每个阶段都将源程序的一种表示形式转换成另一种表示形式,各个阶段进行的操作在逻辑上是紧密联结在一起的。这几个阶段是:词法分析、语法分析、语义分析、中间代码生成。另外两个重要的工作:符号表格的管理和出错处理贯穿以上的所有阶段。编译过程中源程序的各种信息被保留在种种不同的表格里。编译时自始至终涉及到表格的构造、查找和更新。如果编译过程中发现源程序有错误,编译程序应报告错误的性质和错误发生的地点,并且将错误所造成的影响限制在尽可能小的范围内,使得源程序的其余部分能继续被编译下去,有些地方编译器还能自动校正错误,这些工作称之为出错处理。
词法分析
自左至右扫描源程序的字符串,并识别出一个个的单词(也称单词符号)。这里所谓的单词是指逻辑上紧密相连的按词的组成规则结合起来的一组字符,它们具有一定的意义。把每个单词的ASCII 码序列替换成所谓的机内表示——Token 形式。这时还需要检查词法错误。词法分析阶段不依靠语法关系。
语法分析
扫描对象可能是源程序的ASCII 码序列,也可能是词法分析后的Token 序列。前者情形,词法分析程序作为语法分析程序的子程序。语法分析的主要任务是检查源程序的形式语法错误。每当发现错误时将输出有关信息。很多编译程序在进行语法分析时同时完成其他工作,但要注意,如果语法有错误,那么其他工作也就白做。
语义分析
扫描的对象通常是语法分析后的结果。这时候,源程序的Token 序列已经变换成没有错误的符合语法的Token 生成树。对于编译器来说,它的任务是收集符号信息,登记在符号表格里,对伪指令的语义进行解释,完成相应的动作。伪指令的功能是改变编译器的状态并将一些必要的信息(如段定义,变量声明)加入到目标文件中去。另外,表达式的求值,段的选择,地址计数器的计数,指令长度的计算等都在这个阶段中完成。语义分析阶段同样进行着对错误的处理。
目标代码生成
这时候的Token 流在形式上已经比较一致,符号信息都已经登记在各种表格里。这个阶段的任务是根据助记符的各种寻址方式决定它的目标代码。这一部分的工作与目标机的指令系统紧密相关。目标代码生成之后,还要根据obj 文件的格式把目标代码写入文件。最后还要产生列表文件,为用户提供源码与目标码的对照。
编译器设计
词法分析设计
由于我们规定的程序语句中涉及单词较少,故在词法分析阶段忽略了单词输入错误的检查,而将编译程序的重点放在中间代码生成阶段。词法分析器的功能是输入源程序,输出单词符号。我们规定输出的单词符号格式为如下的二元式: (单词种别,单词自身的值)
#define ACC -2
#define syl_if 0
#define syl_else 1
#define syl_while 2
#define syl_begin 3
#define syl_end 4
#define a 5
#define semicolon 6
#define e 7
#define jinghao 8
#define s 9
#define L 10
#define tempsy 11
#define EA 12
#define EO 13
#define plus 14
#define times 15
#define becomes 16
您可能关注的文档
- 北京市朝阳区2015-2016学年度第一学期期末检测语文试卷探析.doc
- 教育理论基础知识研究.doc
- 接地线热稳定计算新研究.doc
- 5-水电厂机电设备运行_龚在礼_单元五配电装置中的电气设备运行及事故处理介绍.doc
- 结构工程硕士选题研究.doc
- 6.1细胞的增殖学生版介绍.doc
- 结构设计-上部V3.0-2012.7研究.doc
- 介词、副词研究.doc
- 6AUnit3单词、词组、句型、语法和单元检测卷介绍.doc
- 金工实习书研究.doc
- 中国国家标准 GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较.pdf
- 《GB/T 5211.9-2025颜料和体质颜料通用试验方法 第9部分:相同类型着色颜料耐光性的比较》.pdf
- 《GB/T 37228-2025安全与韧性 应急管理 突发事件管理指南》.pdf
- GB/T 23724.3-2025起重机 检查 第3部分:塔式起重机.pdf
- 中国国家标准 GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法.pdf
- 《GB/T 25163-2025防止儿童开启包装 可重新盖紧包装的要求与试验方法》.pdf
- GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 中国国家标准 GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射.pdf
- 《GB/T 16263.5-2025信息技术 ASN.1编码规则 第5部分:W3C XML模式定义到ASN.1的映射》.pdf
- GB/T 11349.2-2025机械振动与冲击 机械导纳的试验确定 第2部分:用激振器作单点平动激励测量.pdf
最近下载
- 宾馆装修改造项目立项建议书.doc VIP
- 悬臂法挂篮施工监测方案.docx VIP
- 财税大楼装修项目建议书.doc VIP
- XXX教学楼装修改造项目建议书.pdf VIP
- 提高胸外科患者肺功能锻炼的依从性品管圈汇报书ppt.pptx
- 2025广西百色工业投资发展集团有限公司招聘27人笔试参考题库附答案解析.docx VIP
- 2025国内短剧行业市场规模、出海短剧市场机遇及未来短剧制作方向分析报告.pptx VIP
- 2025广西百色工业投资发展集团有限公司招聘27人考试备考题库及答案解析.docx VIP
- 2025广西百色工业投资发展集团有限公司招聘27人笔试备考试题及答案解析.docx VIP
- 小升初语文成语错别字专项练习.pdf VIP
文档评论(0)