- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理课程实验汇报示例
1
完成日期:2007-6-20
指导老师:蒋宗礼张悦
编译原理实验报告 张悦
2
一词法的正规式描述
标识符:字母|(字母|数字字符)*(ε|_|.) (字母|数字字符)*
十 进 制 数 : (0|(1|2|3|4|5|6|7|8|9) (0|1|2|3|4|5|6|7|8|9)*)( ε |.)(0|1|2|3|4|5|6|7|8|9)
五.系统实现
(一)词法分析器的实现
四.系统设计
完成整个系统,实现本个实验的要求,需要两个比较大的模块:词法分析器 和语法分析器。
词法分析器的功能是将输入的程序串分解成一个一个独立的单词,并且记录 下每个单词的类型以及数值。这里词法分析器的实现有两种方法:调用一次词法 分析器,返回一个词的类型以及数值,以此类推;还有一种方法是条用一次词法 分析器将程序串的所有单词都分解出来并保存到一个地方(比如线形表)以便将 来使用。我采用的是前者,因为这样只需要对整??程序访问一遍
语法分析器的功能是将已经分解好的单词按照一定的规范(产生式)组合起 来,由此来确定输入程序的意思。我的设计是“语法分析器调用词法分析器”, 当语法分析其分析进行不下去的时候调用词法分析器获取一个单词,继续进行分 析。而语义功能是镶嵌在语法分析其当中的,当语法分析器分析出用什么产生式 的时候作相应的语义处理。
3. 编写测试程序,反复调用函数scan( ),输出单词种别和属性。
4. 改写文法,构造语法分析程序,要求按照最左派生的顺序输出派生的产 生式序列;
5. 改写语法分析程序,构造三地址代码生成程序。
6. 处理的源程序存放在文件中,它可以包含多个语句;
从键盘读入数据,分析出一个单词。
返回单词种别(用整数表示), 返回单词属性(不同的属性可以放在不同的全局变量中)。
1)
2)
3)
三. 实验要求
1. 编制正规式以及正规文法,画出状态图;
2. 根据状态图,设计词法分析函数int scan( ),完成以下功能:
二. 实验内容
1.编制一个能够分析三种整数、标识符、主要运算符和主要关键字的词法 分析程序。
2.用二维预约分析表,编制一个能够进行语法分析并生成派生的产生式序 列的编译程序。
3.用递归子程序法,编制一个能够进行语法分析并生成三地址代码的微型 编译程序。
一. 实验目的
基本掌握计算机语言的词法分析程序的开发方法。以及掌握计算机语言的语 法分析程序设计与属性文法应用的实现方法。锻炼自己的编程能力和逻辑思维能 力,体会计算机编译器的奥妙之处 张悦
3
三、状态图:
-a|b|c|d|e|f|g|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|
R|S|T|U|V|W|X|Y|Z
数字字符-0|1|2|3|4|5|6|7|8|9
temp- (字母|数字字符)temp|ε
temp2- (ε|_|.)
temp3- (ε|.)
temp4- (0|1|2|3|4|5|6|7)temp4|ε
temp5- (0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f) temp5|ε
将状态合起来,得:
(0)-1~9(1)|0(4)|字母(12)|运算符和分隔符(17) (1)-0~9(1)|. (2)
(2)-0~9(3) (3)-0~9(3)
(4)-.(2)|1~7(5)|0(13)|x(8)|X(8) (5)-0~7(5)|.(6)
(6)-0~7(7) (7)-0~7(7)
(8)-1~9(9)|a~f(9)|0(14) (9)-0~9(9)|a~f(9)|.(10) (10)-0~9(11)|a~f(11) (11)-0~9(11)|a~f(11)
(12)-0~9(12)|a~z(12)|A~Z(12)|.(15)|_(15) (13)-.(6)
(14)-.(10)
(15)-0~9(16)|a~z(16)|A~Z(16) (16)-0~9(16)|a~z(16)|A~Z(16)
母
字
二、改变后的正规文法
标识符- 字母temp temp2temp
十进制整数-数字字符temp3数字字符
八进制整数- 0 temp4temp3 temp4
十六进制整数- 0xtemp5temp3 temp5
运算符和分隔符-+| - |* |/ || |= |( | ) |;
关键字-if| then| else |while |do
(0|1|2|3|4|5|6|7|8|9)*
八进制数:0(0|(1|2|3|4|5|6|7) (0|1|2|3|4|5|6|7)*) (ε|.)(0|1|2|3|4|5|6|7) (0|1|2
您可能关注的文档
- 统计学主要概念和思考题.doc
- 统计学习题集第5章相关与回归分析.doc
- 统计学假设检验测试卷.doc
- 统计学全程试卷解析.doc
- 统计学全复习样本题.doc
- 统计学原理形成性考核册作业三_四答案.doc
- 统计学原理形成性考核册解析3.doc
- 统计学原理和应用试题和答案.doc
- 统计学原理计算题和答案.doc
- 统计学原理部分历年度试题分类汇总(北京电大).doc
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].docx
- 情绪价值系列报告:春节消费抢先看-国证国际证券.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(解析版).docx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].docx
- 液冷盲插快接头发展研究报告-全球计算联盟.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(原卷版).docx
- 精品解析:北京市东直门中学2024届高三考前练习数学试卷(解析版).docx
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第2章 人体的神经调节》大单元整体教学设计[2020课标].docx
最近下载
- 2014款一汽丰田卡罗拉_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- 2024-2025学年天津市某中学高三年级上册第一次月考英语试卷(含详解).pdf VIP
- 视神经脊髓炎讲课护理课件.pptx VIP
- 天津市南开区某中学2024-2025学年高一年级上册11月期中英语试卷.pdf VIP
- 【初三英语一模】2021届上海虹口区初三英语一模(含答案).pdf VIP
- 2023危险性较大的分部分项工程安全专项施工方案编制与管理指南.docx
- 2025年合肥市高三第一次教学质量检测数学试题及答案.docx VIP
- 宁波市水务环境集团有限公司题库.pdf
- 政绩观存在的问题及整改措施三篇.docx VIP
- 二年级下册ppt课件下载.pptx
文档评论(0)