- 2
- 0
- 约5.76千字
- 约 26页
- 2017-09-02 发布于浙江
- 举报
编译原理课设中版
编译原理课程设计
简单编译器
学 院(系):电子信息与电气工程学部
学 生 姓 名:李梦珂
学 号:201181216
班 级:电计1101
同 组 人 :宫丽迪 电计1101 201181306
陈笛 电计1101 201181326
大连理工大学
Dalian University of Technology
目 录
1 词法分析 2
1.1 实验目的 2
1.2 实验要求 2
1.2.1待分析的简单的词法 2
1.2.2 各种单词符号对应的种别码: 2
1.2.3 词法分析程序的功能: 3
1.3 词法分析程序的算法思想: 3
1.3.1 主程序示意图: 3
1.3.2 扫描子程序的算法思想: 4
1.3.3 词法分析程序的C语言程序源代码: 6
1.3.4 结果分析: 6
1.3.5 总结: 7
2 语法分析 8
2.1 实验目的 8
2.2实验要求 8
2.2.1 待分析的简单语言的语法 8
2.2.2 实验算法结构 8
语法分析程序的算法思想 8
2.3 结果分析: 13
2.4 总结: 15
3 语义分析程序 16
3.1 实验目的: 16
3.2 实验要求: 16
3.3 算法思想: 16
3.3.1 程序结构图 16
3.3.2 设置语义过程 20
3.3.3 函数lrparser 在原来语法分析的基础上插入相应的语义动作:将输入串翻译成四元式序列。在实验中我们只对表达式、赋值语句进行翻译。 21
3.3.4 简单赋值语句的翻译文法 21
3.4 结果分析 22
3.5 总结: 25
1 词法分析(李梦珂 201181216 负责)
1.1 实验目的
设计、编制并调试一个词法分析程序,加深对词法分析原理的理解。
1.2 实验要求
设计、编制并调试一个词法分析程序,三人一组。
1.2.1待分析的简单的词法
(1)关键字:
int if then else while do read write
所有的关键字都是小写。
(2)运算符和界符
: := = + - ++ -- * / = != = = ; ( ) { } #
(3)其他单词是标识符(ID)和整型常数(SUM),通过以下正规式定义:
ID = letter (letter | digit)*
NUM = digit digit*
空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。
1.2.2 各种单词符号对应的种别码:
表1.1 各种单词符号对应的种别码
单词符号 种别码 单词符号 种别码 int 1 ++ 17 If 2 -- 18 Then 3 := 19 else 4 20 while 5 != 21 do 6 = 22 read 7 23 write 8 = 24 lettet(letter|digit)* 10 == 25 dight dight* 11 ; 26 = 12 ( 27 + 13 ) 28 - 14 \ 30 * 15 ! 31 / 16 : 32 , 33 { 35 } 36
1.2.3 词法分析程序的功能:
输入:所给文法的源程序字符串。
输出:二元组(syn,token或sum)构成的序列。
其中:syn为单词种别码;
token为存放的单词自身字符串;
sum为整型常数。
例如:对源程序输入如下:
{
Int x,y;
X:=2*y;
If(x5)
Then x:=2*x+2/3;
}#
后经词法分析输出如下序列:({ 35} (int 1)(x 10)(, 33)(y 10) (;26)(x 10)……
1.3 词法分析程序的算法思想:
算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想是根据扫描到单词符号的第一个字符的种类,拼出相应的单词符号。
1.3.1 主程序示意图:
主程序示意图如图1.1所示。其中初始包括以下两个方面:
⑴ 关键字表的初值。
关键字作为特殊标识符处理,把它们预先安排在一张表格中(称为关键字表),当扫描程序识别出标识符时,查关键字表。如能查到匹配的单词,则该单词为关键字,否则为一般标识符。关键字表为一个字符串数组,其描述如下:
Char *rwtab[6]
您可能关注的文档
最近下载
- SYT 5069-2017 石油天然气工业 钻井和采油设备 管柱类落物打捞工具.docx VIP
- WF-007A多功能自动氩弧填丝机使用说明书7.pdf VIP
- SYT 5496-2017 石油天然气工业 钻井和采油设备 震击器及加速器.pdf VIP
- 2025年烟花爆竹经营企业(包括批发和零售企业)安全检查表.pdf VIP
- 2025至2030药用真菌行业调研及市场前景预测评估报告.docx VIP
- SYT 5382-2009 钻井液固相含量测定仪.docx VIP
- 《消毒供应质量控制指标(2024年版)》.docx VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
- 2012下半年深圳市机关公开招考公务员职位表.doc VIP
- 国际期刊科技论文写作与发表.PDF VIP
原创力文档

文档评论(0)