《编译原理》实验指导书2
实验一 词法分析
一、实验目的 (实验日期:2011.3.21)
通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
二、实验要求
编制一个读单词过程,源程序为一个文件,读取该文件,识别出各个具有独立意义的单词,并依次输出各个单词的内部编码及单词符号自身值。
单词的内部编码如下:
1、保留字:main、if、int、for、while、do、return、break、continu单词种别码分别为1~92、标识符:除保留字外的以字母开头,后跟字母、数字的字符序列单词种别码为20
3、常数为无符号数;单词种别码为30
4、运算符包括:+、-、*、/、=、、、=、=、==、!=;单词种别码为41~51
5、分隔符包括:;、{、}、(、); 单词种别码为61~6。
单词符号 种别码 单词符号 种别码 main 1 / 44 int 2 = 45 if 3 46 for 4 47 while 5 = 48 do 6 = 49 return 7 == 50 break 8 != 51 continue 9 ID 20 ; 62 NUM 30 { 63 + 41 } 64 - 42 ( 65 * 43 ) 66 三、预习提示
1、模块结构参照教材图.22。
四、实验过程和指导
1、准备
(1) 课本有关章节;
(2) 编制好程序;
(3) 准备多组测试数据。
2、为了能设计好程序,注意以下事情:
(1) 模块设计:将程序分成合理的多个模块(函数),每个模块做具体的同一事情。
(2) 设计方案:模块关系简图、流程图、全局变量、函数接口等。
(3) 编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。
五、
源程序文件内容如下:
main()
{
int a, b;
a = 10;
b = a + 20;
}
要求输出如下:
(,)
(65,)
(,)
(63,(20,)
(61,)
(20,)
(62,)
(20,”a”)
(4,)
(30,10)
(,”;”)
(2,”b”)
(45,)
(20,”a”)
(4,)
(30,20)
(,)
(66,)
实验二 预测分析法
一、实验目的(实验日期:2009.4.28)
根据某一LL(1)文法编制调试预测分析程序,以便对任意输入的符号串进行分析。本次实验的目的主要是加深对预测分析法的理解。
二、实验要求
本次实验的LL(1)文法为表达式文法:
E→E+T | T
T→T*F | F
F→i | (E)
编写识别表达式文法的合法句子的预测分析程序,对输入的任意符号串,给出分析过程及分析结果。分析过程要求输出步骤、分析栈、剩余输入串和所用产生式。如果该符号串不是表达式文法的合法句子,要给出尽量详细的错误提示。
三、实验过程
1、准备
(1) 阅读课本有关章节;
(2) 初步编制好程序;
(3) 准备多组测试数据。
2、上机调试
3、思路
将表达式预测分析表存到一个数组中,参照教材图5.11预测分析程序的框图编写分析程序。
4、为了能设计好程序,注意以下事情:
(1) 模块设计:将程序分成合理的多个模块(函数),每个模块做具体的同一事情。
(2) 写出(画出)设计方案:模块关系简图、流程图、全局变量、函数接口等。
(3) 编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。
实验三 LR分析法
一、实验目的(实验日期:2009.5.19)
掌握用LR分析法对表达式文法进行自底向上语法分析的算法,加深对LR分析法的移进,归约等操作理解。
二、实验要求
本次实验的SLR(1)文法为表达式拓广文法:
S’→E
E→E+T
E→T
T→T*F
T→F
F→(E)
F→i
改进后的SLR(1)分析表如教材142页图7.8。
编写识别表达式拓广文法的合法句子的SLR(1)分析程序,对输入的任意符号串,给出分析过程及分析结果。分析过程要求输出步骤、状态栈、符号栈、输入串和语法动作。如果该符号串不是表达式文法的合法句子,要给出尽量详细的错误提示。
三、实验过程
1、准备
(1) 阅读课本有关章节;
(2) 初步编制好程序;
(3) 准备多组测试数据。
2、上机调试
3、思路
将改进后的SLR(1)分析表存到一个数组中,参照教材118页的LR分析程序编写分析程序。
4、为了能设计好程序,注意以下事情:
(1) 模块设计:将程序分成合理的多个模块(函数),每个模块做具体的同一事情。
(2) 写出(画出)设计方案:模块关系简图、流程图、全局变量、函数接口等。
(3) 编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。
附录1:实验报告格式
_______
您可能关注的文档
- QYRQJS埋地燃气管道的运行、维护保养技术规程隐患分级新.doc
- Q~施工电梯搭拆方案.doc
- PHC管桩施工及质量问题分析和处理本科毕业论文.doc
- QTZ塔吊天然基础的计算书.doc
- R粗轧机说明书.doc
- SCD施工升降机装拆施工方案.doc
- SCC履带吊拆卸作业指导书.doc
- SFGCWI中央空调系统管理规范.docx
- SCIP公共管廊管道安装施工方案rev..doc
- RK+~RK+.左侧路肩墙施工方案.doc
- 质量事故处理管理规定.doc
- 广东省广州市南沙区2020-2021学年八年级上学期期末道德与法治试题(含答案).docx
- 广东省广州市2022-2023学年八年级上学期期末道德与法治试题(含答案).docx
- 广东省广州市黄埔区2023-2024学年八年级上学期期末道德与法治试题(含答案).docx
- 广东省广州市花都区2022-2023学年八年级上学期期末道德与法治试题(含答案).docx
- 广东省广州市黄埔区2022-2023学年八年级上学期期末道德与法治试题(含答案).docx
- 广东省广州市番禺区2021-2022学年八年级上学期期末道德与法治试题(含答案).docx
- 广东省广州市白云区2021-2022学年八年级上学期期末道德与法治试题(含答案).docx
- 广东省广州市番禺区2019-2020学年八年级上学期期末道德与法治试题(含答案).docx
- 2025-2026学年河南省信阳市息县关店理想学校七年级(上)期末数学模拟试卷(B卷)_20260117171409.doc
最近下载
- 桥面系人行道施工方案.docx VIP
- 深川CHINSC S200系列通用矢量变频器说明书.pdf VIP
- (高清版)B-T 230.2-2022 金属材料 洛氏硬度试验 第2部分:硬度计及压头的检验与校准.pdf VIP
- 2024部编版初中历史八年纪上全册重点知识点归纳总结(复习必背).docx VIP
- 2025年招标师信息化与系统集成项目招标方案设计专题试卷及解析.pdf VIP
- 美妆直播间布置方案.docx VIP
- 2025年课件-(已瘦身)大学生创新创业基础(创新创业课程)PPT完整全套教学课件-新版.pptx
- 辽宁省建设工程系列专业技术资格评审标准.pdf VIP
- 2025年10月自考14444小学教师专业发展.试题及答案.pdf VIP
- 七下历史教学计划.docx VIP
原创力文档

文档评论(0)