- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理课程设计,词法分析,语法分析,小型编译器,实验报告
编译原理课程设计,词法分析,语法分析,小型编译器,实验报告
编译原理语法分析上机实验读书工程报告
黑龙江大学
“编译原理课程设计”读书报告
学院 年级 专业 学号 姓名 报告日期 成绩
计算机科学技术学院 2013 计算机科学与技术
2015年7月3日
黑龙江大学计算机科学技术学院
一、开发环境简介
此次编译原理课程设计的编译器的实现是基于VC++6.0编译环境下实现的。
对于VC++6.0,它是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成编程系统。它不仅具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点。
VC++6.0不仅是一个C++ 编译器,而且是一个基于Windows操作系统的可视化集成开发环境。Visual C++6.0明显缩短程式编辑、编译及连结花费的时间,在大型软件计划上尤其显著。
二、基本理论阐述、当前理论
1.什么是编译程序
语言翻译程序把一种语言(称作源语言)书写的程序翻译成另一种语言(称作目标语言)的等价程序。
2.高级语言程序的处理过程
3.编译过程
三、小型编译器系统架构(最重要)
1).词法分析:
词法分析是编译过程的第一个阶段。这个阶段的任务是从左到右一个字符一个字符地读入源程序,对构成源程序的字符流进行扫描和分解,从而识别出一个个单词(也称单词符号或符号)。这里所谓的单词是指逻辑上紧密相连的一组字符,这些字符具有集体含义。比如标识符是由字母字符开头,后跟字母、数字字符的字符序列组成的一种单词。保留字(关键字或基本字)是一种单词,此外还有算符、界符等等。
2).语法分析:
语法分析是编译过程的第二过程。语法分析的任务是在词法分析的基础上将单词序列分解成各类语法短语;如“程序”、“语句”、“表达式”等。一般这种语法短语,也称语法单位,可表示成语法树。
词法分析和语法分析本质上都是对源程序的结构进行分析。但词法分析的
任务仅对源程序进行线性扫描即可完成,比如识别标识符,因为标识符的结构是字母打头的字母和数字串,这只要顺序扫描输入流,遇到既不是字母又不是数字字符时,将前面所发现的所有字母和数字组合在一起而构成单词标识符。但这种线性扫描则不能用于识别递归定义的语法成分,比如就不能用此办法去匹配表达式中的括号。
目前,已存在许多语法分析的方法。但就产生语法树的方向而言,可大致把他们分为自底向上和自顶向下两大类。
3)中间代码生成:
在进行了上述的语法分析和语义分析阶段的工作之后,有的编译程序将源程序变成一种内部表示形式,这种内部表示形式叫做中间语言或中间代码。所谓“中间代码”是一种结构简单、含义明确的记号系统可以设计为多种多样的形式,重要的设计原则为两点:一是容易生成;二是容易将它翻译成目标代码。很多编译程序采用了一种近似‘三地址指令’的“四元式”中间代码,这种四元式的形式为:(运算符,运算对象1,运算对象2,结果);
4).目标代码生成:
这一阶段的任务是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令或汇编指令代码。这是编译的最后阶段,它的工作与硬件系统结构和指令含义有关,这个阶段的工作很复杂,涉及到硬件系统功能部件的应用、机器指令的选择、各种数据类型变量的存储空间分配以及寄存器和后援寄存器的调度等。
此外,本程序不涉及语义分析,代码优化等代码优化阶段。
本次课程设计设计出的小型编译器,适用范围比较小,局限性较高,综合度不算强。语言不是很严谨,有待改进。
四、小型编译器主要功能模块与实现
第一部分:语法分析程序;
(1).功能介绍
输入LL(1)文法的字符串,LL(1)程序可以分析其匹配过程。输入一个字符串,算符优先程序可以分析其规约移进的过程。
(2).相关理论
语法分析对输入串的处理(进栈与出栈,归约和接受)是独立于语法分析之外单独的一部分,但是其只能分析有限的输入串,无法完全任意识别。 相关理论
将表达式文法的预测分析表用二维数组储存,然后当分析符号串依次扫描符号串中的字符,进行匹配输出即可。
(3)程序流程图
LL(1)模拟程序实现流程:
篇二:编译原理课程设计-C-词法扫描器及语法分析器实现
编译原理课程设计报告
课题名称: C-词法扫描器及语法分析器实现
提交文档学生姓名: 提交文档学生学号:
同组 成 员 名 单: 无 指导 教 师 姓 名:金军
指导教师评阅成绩: 指导教师评阅意见:
提交报告时间:2014年 6月 xx日
目录
目录...............................................................................
您可能关注的文档
- 红花堰大型商业地产的运作.doc
- 纪委班子两学一做对照检查材料.doc
- 红薯种类.doc
- 红色旅游介绍ppt会宁.ppt
- 纳米银妇女外用抗菌凝胶ァ.doc
- 纸品厂文件和资料管理程序.doc
- 纸箱行业安全隐患分析及对策.doc
- 纳米银妇女外用抗菌凝胶.doc
- 纸箱行业安全隐患分析及措施.doc
- 纸飞机的空气动力学 转.doc
- 2024市教育局重点工作班子述职报告范文(真题4篇) .pdf
- 2024年11月炼铁厂厂长述职报告范文(二篇).pdf
- 2024年上海市企业人力资源管理师之四级人力资源管理师考试题库大全及参考答案(培优B卷).docx
- 2024年《三国演义》读后感真题15篇_21 .pdf
- 2024年《三国演义》读后感(集锦15篇)完整版9 .pdf
- 2024年上海市企业人力资源管理师之一级人力资源管理师考试优选题库含答案(满分必刷).docx
- 2024年三亚市企业人力资源管理师之一级人力资源管理师考试真题题库附参考答案(综合题).docx
- 2024年《海的女儿》读后感_49 .pdf
- 7-23年强化班-VC2-289-申城牧雅畅(150+70)从0到1拿下注岩.pdf
- 2-精品!!推荐虎啸华南梦已真,岩土何须求来人——李洋特.pdf
文档评论(0)