一 需求分析
自己编写、调试一个词法分析程序,并对程序输入语句进行词法分析,从而更好的理解词法分析的原理。
二 程序设计
此程序用Java语言编写。程序读入一个内含程序语句的文本文件,对其中的内容进行分析,最终输出形式为<token类型, 识别的单词符号>的Token序列,token类型包括ID,KEYWORD, DIGIT, OPERATOR, ERROR。本词法分析器所分析的语言为C语言的缩减版,可识别C语言的保留字、变量名、操作符、数字等内容,但是不能处理注释、三目操作符(? :)、跳脱符(\)等,且不支持负的数值,引号中内容不可以跨行,所有支持的操作符和关键字将在下面表格中详细给出。
单词符号 种别码 单词符号 种别码
int 1 + 25
unsigned 2 - 26
short 3 * 27
char 4 / 28
long 5 & 29
float 6 && 30
double 7 \ 31
if 8 \ \ 32
else 9 ! 33
do 10 = 34
while 11 == 35
continue 12 += 36
for 13 -= 37
switch 14 *= 38
case 15 /= 39
default 16 ++ 40
break 17 — 41
struct 18 ; 42
typedef 19 ( 43
const 20 ) 44
static 21 [ 45
return 22 ] 46
id(变量名称) 23 { 47
digit(数值) 24 } 48
undefned -1 > 49
< 50
>= 51
<= 52
% 53
!= 54
“ 55
‘ 56
: 57
三 程序实现
参考文档和完整的文档和源码下载地址: