实验2:词法分析

实验2:词法分析
实验2:词法分析

实验二:词法分析

1、实验目的:

设计、编制与调试一个词法分析程序,加深对词法分析原理的理解。

2、估计实验时间:

1.课余准备10小时;

2.上机二次4小时;

3.完成实验报告5小时。

3、实验要求:

3.1、待分析的C语言子集的词法

1、关键字

main if else int return void while

所有关键字都是小写。

2、专用符号

运算符包括:=、+、-、*、/、<、<=、>、>=、!=

分隔符包括:,、;、:,{、}、[、]、(、)

3、其它标记ID和NUM

通过以下正规式定义其它标记:

ID→letter(letter | digit)*

NUM→digit digit*

letter→a | … | z | A | … | Z

digit→0|…|9

4、空格由空白、制表符和换行符组成

空格一般用来分隔ID、NUM、专用符号和关键字,词法分析阶段通常被忽略。

3.2、种单词符号对应的种别码:

见教材186页

3.3、词法分析程序的功能:

输入:所给文法的源程序字符串。

输出:二元组(syn,token或sum) 构成的序列,其中:

.syn 为单词种别码

.token为存放的单词自身字符串。

.sum为整形常量。

3.4、为了能设计好程序,注意以下事情:

1.模块设计:将程序分成合理的多个模块(函数),每个模块做具体的同一事情。

2.写出(画出)设计方案:模块关系简图、流程图、全局变量、函数接口等。

3.编程时注意编程风格:空行的使用、注释的使用、缩进的使用等。

4、上交:

1.程序源代码(通过网络提交);

2.已经测试通过的测试数据3组;

5、实验报告:

(1)功能描述:该程序具有什么功能?

(2)程序结构描述:函数调用格式、参数含义、返回值描述、函数功能;函数

之间的调用关系图、程序总体执行流程图。

(3)实验过程记录:出错次数、出错严重程度、解决办法摘要。

(4)实验总结:你在编程过程中花时多少?多少时间在纸上设计?多少时间上

机输入和调试?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?

相关主题
相关文档
最新文档