📄 afadskfjadsfsan.rar.txt
字号:
编译原理及实践(2005春)课程实验方案及解决方案
课程实验:
(一)词法分析
1.X语言词法分析程序的设计
目的:设计、编制、调制一个具体的词法分析程序,加深对词法分析原理的理解。
要求:
(1)通过理解正规式、有限自动机原理,根据下面的X语言的说明编制一个X语言的词法分析程序。
(2)提交实验报告,报告内容如下:
目的要求、DFA、程序清单(带注释)、测试样例及结果
X语言的说明(一)
1.X语言的单词包括:整数(由0~9的数字组成)、操作符(+,-,*,/),括号((,)),分号;。
单词定义的头文件如下:
lex.h
#define EOI 0 /*输入结束*/
#define SEMI 1 /*;*/
#define PLUS 2 /*+*/
#define SUB 3 /*-*/
#define TIMES 4 /* * */
#define DIV 5 /* / */
#define LP 6 /* ( */
#define RP 7 /* ) */
#define NUM 8 /*十进制数*/
(二)语法分析
1. X语言递归下降分析
目的:设计、编制、调制一个具体的语法分析程序,加深对语法分析原理的理解。
要求:
(1) 参考教材中程序清单4-1的递归下降算法,考虑以下的X语言文法:
程序?表达式;| 表达式;程序
表达式?表达式+项 | 表达式-项 | 项
项?项*因式 | 因式
因式?数 | (表达式)
写出它的递归下降分析程序,按顺序输出每个表达式的值。
(2)提交实验报告,报告内容如下:
目的要求、程序结构、程序清单(带注释)、测试样例及结果
(3)上机时间:3~5机时
2. LL(1)分析法
目的:设计、编制、调制一个具体的语法分析程序,加深对语法分析原理的理解。
要求:
(1)根据LL(1)分析法,编写一个语法分析程序,输入已知文法,由程序自动生成该文法的分析表M。
(2) 程序具有通用性,适用于不同文法以及各种输入单词串(为简单起见,可将单词串视为字符串),并能判断该文法是否为LL(1)文法。
(3) 有运行实例。对于输入的一个文法和一个单词串,所编制的语法分析程序应能正确地判断,此单词串是否为该文法的句子。
(4)提交实验报告,报告内容如下:
目的要求、算法框图、程序结构、主要变量说明、程序清单、运行实例及其结果。
(5)上机时间:12~15机时
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -