⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 afadskfjadsfsan.rar.txt

📁 简单的词法分析程序 1)通过理解正规式、有限自动机原理
💻 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 + -