lex是一个高效简单的实现词法分析器的工具,本文的工作只是实现了一个c语言的简易词法分析,识别出单词并打印。后续文章将会有稍微复杂的lex程序,实现了符号表等功能。
先上代码:
%{ #include <stdio.h> %}
WS [ \t\n]*
NUMBER [0123456789]+
ID [a-zA-Z][a-zA-Z0-9]*
LABRACE [{}]
EQUAL [=][=]
LPARNE [()]
SEMICOLON [;]
ASSIGN [=]
ADD [+]
SUB [-]
MUL [*]
DIV [/]
IF [i][f]
WHILE [w][h][i][l][e]
INT [i][