- 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
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)