文件名称:java编写的词法分析器
文件大小:2.37MB
文件格式:RAR
更新时间:2011-06-12 14:25:35
编译原理
1、该词法分析器要求至少能够识别以下几类单词:
(1)关键字:else if int return void while共6个,所有的关键字都是保留字,并且必须是小写;
(2)标识符:识别与C语言词法规定相一致的标识符,通过下列正则表达式定义:ID = letter (letter | digit)*;
(3)常数:NUM=(+ | - |ε)digit digit*(.digit digit* |ε)(e(+ | - |ε) digit digit* |ε),letter = a|..|z|A|..|Z|,digit = 0|..|9,包括整数,如123, -123, +123等;小数,如123.45, +123.45, -123.45;科学计数法表示的常数,如+1.23e3,-2.3e-9;
(4)专用符号:+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */。
2、分析器的输入为由上述几类单词构成的程序,输出为该段程序的机内表示形式,即关键字、运算符、界限符变为其对应的机内符,常数使用二进制形式,标识符使用相应的标识符表指针表示。
3、词法分析器应当能够指出源程序中的词法错误,如不可识别的符号、错误的词法等。