在学习编译原理时,按照《程序设计语言编译原理》(学习教材),设计了一个简单的词法分析器的代码,可以实现对关键字、标识符,数字的识别,去掉空格符等。
下面对关键字和种别码的说明。
1、 功能:输入源程序、分析源程序的单词,输出单词
单词符号的种类如下:
(1) 关键字(本例所有关键字都是大写)。
DIM IF DO STOP END
(2) 标识符:表示各种名字,如数组名、过程名和变量名等。标识符(ID)通过以下正规式定义:
ID=letter(letter| digit)*
(3) 运算符:
= + * ** , ( )
(4)常数
各种类型的常数标识符(NUM) 通过以下正规式定义:
NUM=digit digit *
(5) 空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM,运算符、界符和关键字,词法分析阶段通常被忽略。
2、 种别码:
单词符号 |
种别编码 |
内码值 |
DIM |
1 |
- |
IF |
2 |
- |
DO |
3 |
- |
STOP |
4 |
- |
END |
5 |
- |
标识符 |
6 |
内部字符串 |