实验一: M语言的词法分析程序
以M语言(结构化语言的子集)为背景,实习编译程序的词法分析程序构造方法。词法分析程序的主要任务就是扫描源程序,识别单词,转换并输出token序列。M语言的单词符号有如下几个类别:
(1) 标识符:字母开头,后接字母或数字;
(2) 关键字(从文法上看,关键字集合是标识符集合的子集合):if,else,for,while,do,int;
(3) 常数:由0~9数字组成;
(4) 运算符:+、-、*、/等
(5) 分界符,(、)、,、;等单分界符;还有双字符分界符>= 、 <= 、 != 、==等。
单词的编码
单词 类别 单词 类别
标识符 1 > 39
整常数 2 >= 40
if 3 … …
else 4 ( 55
… … ) 56
+ 35 ; 57
- 36 { 58
= 37 } 59
== 38 … …
(未全部列出,可自己进行定义)