[2018年最新整理]《编译原理》.docVIP

  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文档。上传文档
查看更多
[2018年最新整理]《编译原理》

《编译原理》 实验目的和内容 编译原理实验的目的是使学生将编译理论运用到实际当中,实现一个简单语言集的词法、语法和语义分析程序,验证实际编译系统的实现方法,并加深对编译技术的认识。 实验内容共需实现编译器的词法、语法和语义分析程序三个组成部分。要求学生必须完成每个实验的基本题目要求,有余力的同学可尝试实验的扩展要求部分。 实验报告 要求每人针对所完成的实验内容上交一份实验报告,其中主要包括三方面内容: 1、实验设计:实验采用的实现方法和依据(如描述语言的文法及其机内表示,词法分析的单词分类码表、状态转换图或状态矩阵等,语法分析中用到的分析表或优先矩阵等,语法制导翻译中文法的拆分和语义动作的设计编写等);具体的设计结果(应包括整体设计思想和实现算法,程序结构的描述,各部分主要功能的说明,以及所用数据结构的介绍等)。 2、程序代码:实验实现的源程序,要求符合一般的程序书写风格,并包括必要的注释。 3、实验结果分析:自行编写若干源程序作为测试用例,对所生成的编译程序进行测试(编译程序的输入与输出以文件的形式给出);运行结果分析(至少包括一个正确和一个错误单词或语句的运行结果);以及改进设想等。 另外,在实验报告的最后,欢迎每位同学写上对每个实验的收获、体会,特别是希望和建议,以利于今后不断改进教学,积累经验。 注意事项 1、电子版实验报告和源程序在最后一次机时后的一周内上交。(每个同学上交一个压缩文件,其命名格式为“学号_姓名.rar”,内含实验报告和一个命名为“源程序”的文件夹。注意提交的源程序应是经过调试、测试成功的较为通用的程序,并应有相应的注释、运行环境和使用方法简介。) 2、不接受不完整的实验报告和没有说明注释的源程序,或者说明与程序、运行结果不符合的作业。 特别鼓励:扩展题目 1、为亲身经历一个小型编译器的开发全过程,触摸一下与实际编译器开发相关的工作,大家可以自由组成3人左右的小组,推举组长,模拟一个团队分工协作开发大型软件的实战环境,融入软件工程的思想规范和一般理论方法,初步体验从系统分析设计、编码测试到交付维护的一个完整编译器软件的开发过程。要求组长为每个小组成员分配主要负责的任务,完成相应的分析设计员、程序员和测试员等角色的工作,并以小组为单位提交一份实验报告和源程序,在报告写明完成的部分1)任务概述2)系统的设计3)系统实现(包括框图,各.h.c文件说明,所有函数功能的说明数据结构各种表格说明以及函数调用关系图等)4)系统工作过程及运行说明(使用操作指南)5)源程序清单(要求有详细注释)和实例程序运行结果6)体会和讨论识别语言所有单词的词法分析程序设计G[程序]: 程序 → PROGRAM标识符;分程序 分程序 → 变量说明BEGIN语句表END.变量说明 → VAR变量说明表;变量说明表 → 变量表:类型变量表:类型;变量说明表类型 → INTEGERREAL 变量表 → 变量变量变量表语句表 → 语句语句;语句表语句 → 赋值语句 条件语句 WHILE语句 复合语句赋值语句 → 变量:=算术表达式条件语句 → IF关系表达式THEN语句ELSE语句WHILE语句 → WHILE关系表达式DO语句复合语句 → BEGIN语句表END算术表达式 → 项算术表达式项算术表达式项项 → 因式 项因式 项因式因式 → 变量常数算术表达式关系表达式 → 算术表达式 关系符 算术表达式变量 → 标识符标识符 → 标识符 字母 标识符 数字字母常数 → 整数 浮点数整数 → 数字 数字 整数浮点数 → ? 整数整数 ? 整数关系符 → = | = | | = | 字母 → AB|C|…|X|Y|Z|a|b|c|…|x|y|z 数字 → 01|2|…|9 实验三: (1)增加语义分析的范围,如进一步完成布尔表达式(参见教材P200)、常见程序流程控制语句(参见教材P205)等的翻译。 (2)语法制导翻译过程的可视化处理,选择编译各阶段用到的典型算法实现其动态演示。 (3)选作:完成实验二中文法G[程序]所定义的语言的语法制导翻译程序。 2)自拟题目:根据小组成员的兴趣自主先提交一份文档,说明所选题目、实现方案和技术路线在得到老师认可后方可继续 实验一 词法分析程序实现 一、实验目的与要求 通过编写和调试一个词法分析程序,掌握在对程序设计语言的源程序进行扫描的过程中,将字符形式的源程序流转化为一个由各类单词符号组成的流的词法分析方法。 二、实验内容 根据教学要求并结合学生自己的兴趣和具体情况,从具有代表性的高级程序设计语言的各类典型单词中,选取一个适当大小的子集。例如,可以完成无符号常数这一类典型单词的识别后,再完成一个尽可能兼顾到各种常数、关键字、标识符和各种运算符的扫描器的设计和实现。 输入:由符合

文档评论(0)

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

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

1亿VIP精品文档

相关文档