java编写的词法分析器

时间:2011-06-12 14:25:35
【文件属性】:

文件名称: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,有一些错误的例子无法检测出,不过很有启发作用,还是谢谢了
  • 需要考虑的情况有点少,不过还行吧
  • 软件运行结果不正常
  • 这个没能满足我的实验要求,代码也不是很好!
  • 代码不够好,效率不高
  • 这个没能满足我的实验要求,代码也不是很好!
  • 代码质量很差 另外一点注释也没有 词法分析器竟然判断了一百多行