- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理编译器调研报告
编译原理上机报告 组员: 班级: 一、上机题目: 实现一个简单的语言的编译器 二、上机目的 加深编译原理基础知识的理解:词法分析、语法分析、语法制导翻译等加深相关基础知识的理解:数据结构、操作系统等提高编程能力 锻炼独立思考和解决问题的能力 三、上机要求 1、功能要求 接收以CPL编写的程序,对其进行词法分析、语法分析、语法制导翻译等,然后能够正确的执行程序 2、验收要求条件: 1.完成CPL词法分析器;2.完成CPL语法分析器;3.完成CPL语法制导翻译;方法: 1.演示程序的功能;2.解释程序的源代码; 四,基本步骤 1.分别配置ParserGenerator、VisualC++;2.使用ParserGenerator创建一个工程number ?编写l文件; ?编译,生成与; 3.安装ParserGenerator、VisualC++; 4.使用VC++创建Win32ConsoleApplication工程number ?配置该项目; ?加入与,编译工程;?执行标识符数字识别器; 注意:每次修改l文件后,需要重新编译l文件,再重新编译VC工程 五、工具: 编译器:VisualC++,Eclipse Lex与Yacc:ParserGenerator或者其他自己擅长的语言和环境 六、相关介绍 1、CoreProgrammingLanguage 数据类型:整型变量,布尔变量 ?取值范围{…,-2,-1,0,1,2,…},{true,false} 运算表达式:简单的代数运算,布尔运算 程序语句:赋值表达式,顺序语句,if-else语句,while语句 词法分析器语法分析器 语义子程序 C/C++/Java编译器 (1)手工编写 CPLCompiler 词法l文件 语法y文件 C/C++编译器 CPLC C,C++, JAVA等 (2)工具生成 便于关注语言实现的本质,而不受繁冗细节的干扰 基本框架: CPL程序 CPL Complier 执行结果 2、词法分析器生成器Lex Lex是一个词法分析器生成器,接受正规式表示的词法规则,生成识别正规式所描述语言的源程序,不同版本的Lex支持不同的高级语言,如C、C++、Java等。 词法分析器 人工编写 输入字符序列记号流 Lex转化 利用Lex构造词法分析器:实质为如何设计正规式和语义动作Lex源程序*.l(三段式):[定义 C声明 *.l 辅助定义正规式 ] EXE %% 规则 词法规则正规式 编译原理实验报告 课程名称______编译原理_____题目名称PL0上机作业学生学院__计算机学院______专业班级__12级计科8班学号____311XX110____学生姓名____谢偲灏_指导教师______杨劲涛___ XX年1月3日 一、概述 目的:在分析理解一个教学型编译程序的基础上,对其词法分析程序、语法分析程序和语义处理程序进行部分修改扩充。达到进一步了解程序编译过程的基本原理和基本实现方法的目的。 1. 要求:课内实验 对PL/0作以下修改扩充: 增加单词:保留字:FOR,TO,DOWNTO,+=,-=,++,--;RETURN要求:词法识别即可 替换单词:不等号#改为, 增加条件语句的ELSE子句,要求:写出相关文法,语法图,语义规则。 二、实验环境与工具 源:C语言 程序目标语言:PL/0实现工具:vc++运行平台:PC机,Windows7 三、设计方案 1、结构设计说明 PL/0语言编译器 PL/0语言可看成是PASCAL语言的子集,它的编译程序是一个编译解释执行系统。PL/0 的目标程序为假想栈式计算机的汇编语言,与具体计算机无关。 PL/0的编译程序采用一趟扫描方式,以语法分析程序为核心,词法分析程序和代码生成程序都作为一个独立的过程,当语法分析需要读单词时就用词法分析程序,而当语法分析正确需生成相应的目标代码时,则调用代码生成程序。此外,用表格管理程序建立变量,常量和过程标识符的说明与引用之间的信息联系。用出错处理程序对词法和语法分析遇到的错误给出在源程序中出错的位置和错误性质。 2.各功能模块描述 四、主要成分描述 1符号表○ 为了组成一条指令,编译程序必须知道其操作码及其参数。这些值是由编译程序本身联系到相应标识符上去的。这种联系是在处理常数、变量和过程说明完成的。为此,标识符表
您可能关注的文档
最近下载
- 下肢深静脉血栓形成的预防宣教.pptx VIP
- 天-猫-保-健-食-品-行-业-标-准复习进程.docx VIP
- 2025高考数学核心二级结论速记指南.pdf VIP
- 整理收纳讲座-整理收纳术.pptx VIP
- 中山建设工程造价指数指标2017-中山住房和城乡建设局政务网.PDF
- 提升幸福感的整理收纳术 日常生活劳动通用八年级全册整理与收纳.pptx VIP
- 高中政治统编版必修一中国特色社会主义第二课只有社会主义才能救中国测试题.pdf VIP
- 新能源汽车维护与保养学习单元2-2驱动及冷却系统维护与保养.pptx VIP
- TCECS-铁路工程采空区防治技术规程.pdf VIP
- 齐齐哈尔市教管育理学会“十二五”课题申报评审书.doc VIP
文档评论(0)