【文件属性】:
文件名称: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、词法分析器应当能够指出源程序中的词法错误,如不可识别的符号、错误的词法等。
网友评论
- 改了之后运行起了 不过结果出不来,有一些问题
- 很不错,功能很全,还有界面
- 很不错,很详细,居然把界面都设计出来了!!!
- 蛮有用的,有参考价值
- 不错 很有参考意义 感谢楼主
- 思路很好,可以参考。
- 这是用java语言写的java词法分析器,不是C的,需要下载请注意
- 学习了,修改后还不错
- 基本的字符可以识别,很有帮助。
- 就是关键字有些少 不是我想要的~
- 改了之后运行起了 不过结果出不来,有一些问题
- 很不错,写得很全,就是关键字有些少
- 参考了一下,自己写的
- 我改写了你的算法 不过你给我提供了一种思路 谢谢了
- 有启发作用
- 不错,小小的修改了之后能满足要求
- 关键字不多 不过自己改改也能用 顶一下
- 这个让我实验 拿到了良好~8错8错
- 感觉写的还不错 只是不是我想要的
- 和我想要的功能不太一样,能运行出来,但结果不正常
- 代码不够好,效率不高,没有注释,挫
- 能识别的关键字太少了,如果可以完全识别出来就好了啊·····
- 还有些BUG,有一些错误的例子无法检测出,不过很有启发作用,还是谢谢了
- 需要考虑的情况有点少,不过还行吧
- 软件运行结果不正常
- 这个没能满足我的实验要求,代码也不是很好!
- 代码不够好,效率不高
- 这个没能满足我的实验要求,代码也不是很好!
- 代码质量很差 另外一点注释也没有 词法分析器竟然判断了一百多行