实验一: 词法分析程序
专业:商业软件工程 姓名:吴华锐 学号:201506110140
一、 实验目的
编制一个词法分析程序。
二、 实验内容和要求
输入源程序字符串,输出二元组,待分析语言的词法规则。
三、 实验方法、步骤及结果测试
- 1. 源程序名:压缩包文件(rar或zip)中源程序名词法分析.c
可执行程序名:词法分析.exe
- 2. 原理分析及流程图
主要总体设计问题。
(包括存储结构,主要算法,关键函数的实现等)
单词符号 |
种别码 |
单词符号 |
种别码 |
begin |
1 |
: |
17 |
if |
2 |
:= |
18 |
then |
3 |
< |
20 |
while |
4 |
<= |
21 |
do |
5 |
<> |
22 |
end |
6 |
> |
23 |
l(l|d)* |
10 |
>= |
24 |
dd* |
11 |
= |
25 |
+ |
13 |
; |
26 |
- |
14 |
( |
27 |
* |
15 |
) |
28 |
/ |
16 |
# |
0 |
- 3. 主要程序段及其解释:
实现主要功能的程序段,重要的是程序的注释解释。
1.根据符号与种别码对照表来判断,其主要语句为begin<语句串>end。
2.关键字作为特殊标识符处理,把它们预先安排在一张表格中(称为关键字表),当扫描程序识别出标识符时,查关键字表。如能查到匹配的单词,则该单词为关键字,否则为一般标识符。关键字表为一个字符串数组,其描述如下:
Char *rwtab[6] = {“begin”, “if”, “then”, “while”, “do”, “end”,};
3. 首先设置3个变量:1。Token用来存放构成单词符号的字符串;2.sum用来存放单词符号的种别码;
- 4. 运行结果及分析
一般必须配运行结果截图,结果是否符合预期及其分析。
(截图需根据实际,截取有代表性的测试例子)
四、 实验总结
通过编译原理这个程序实践,在自己动手实验的情况下,更加透彻的理解了词法分析的过程,以及该算法。以后我会更加专心的学习计算机知识,不断将现实中出现的实际问题,向程序方面转变,做到灵活运用所学的知识。