词法分析小程序。
实验目的
1.待分析的简单的词法
(1)关键字:
begin if then while do end
注:所有的关键字都是小写。
(2)运算符和界符
. + - * / =<> < <= > >= ( ) ; :=
(3)其他单词是标识符(IDENT)和整型常数(NUMBER),通过以下正规式定义:
IDENT ::= letter (letter |digit)*
NUMBER ::= digit digit*
注:所有的IDENT和NUMBER的长度不超过20
(4)空格有空白、制表符和换行符组成。空格一般用来分隔IDENT、NUMBER、运算符、界符和关键字,词法分析阶段通常被忽略。整个程序串长度不超过80个字符。
2. 各种单词符号对应的类别值:
表 各种单词符号对应的类别码
单词符号 |
是否保留字 |
枚举值 |
类别码 |
|
period |
0 |
|
+ |
|
plus |
1 |
- |
|
minus |
2 |
* |
|
times |
3 |
/ |
|
slash |
4 |
= |
|
eql |
5 |
<> |
|
neq |
6 |
< |
|
lss |
7 |
<= |
|