JBuilder的词法分析器与语法分析器都是用JAVA写的吗?有没有这类的开源项目,我可能需要做一个类似的东西?UP有分! 是纯Java写的,如果你做过关于代码方面的Add-in,就会用到它的JOT。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有纯java的Yacc?呵呵,那就好了,是什么,具体的说一下吧!JOT,我也不明白,不好意思,JAVA我还是初学,请具体的谈谈吧! 有两个纯Java的冬冬,和lex/yacc的功能是一样的,叫做JFlex和CUP。我上学期用它们做了一个C compiler. 两种具有代表性的编译工具:JFlex和CUP。 JFlex和CUP是可以用来实现基于JAVA语言的编译器 词法分析器就类似一个源代码的拼写检查器,一个象JFlex这样的词法工具,从一个指定的文件中读入词法规则,然后生成相应的词法分析器。我们不妨假设某个程序员需要定义一个名为pronto的语言,于是他将语言pronto的有效词法规则写在一个叫'pronto.flex'的文件中。然后再以命令行方式执行操作:'JFlex pronto.flex'。这样他就可以得到一个叫'Lexer.java'的JAVA程序,这个程序就是一个JAVA版本的pronto的词法分析器。 当然,这样一个单独的词法分析器仅有简单的功能,它除了可以告诉你程序是不是完全由合法的单词组成之外不能完成任何其他事情。 象CUP这样的工具,是通过从指定的文件中读入相应语言的语法规则的定义来生成对应的句法程序。我们继续使用虚构的新语言pronto,程序员需要将语法规则写入指定的文件‘pronto.cup’内,然后在命令行下执行‘java java_cup.Main < pronto.cup’,它会生成多个文件。其中有一个文件就是语言pronto的JAVA版的句法分析器,‘parser.java’。 当然,这样一个简单的句法分析器除了能告诉你程序是不是符合语言的语法之外,什么也做不了。我们所要讨论的句法程序将要完成更多的任务。在判断程序正确与否的同时,程序还要调用相应的代码来进行一些编码(例如,读到变量定义的地方时,需要对定义的变量进行记录? )。 呵呵,现在有一个开放源代码的IDE,叫什么我忘了,你可以看看啊 This is where you can download JFlexhttp://www.jflex.de/download.html 看看eclipse的JDT部分源代码吧。BTW:eclipse比JB的编辑器强多了。 今天,下了JLex与CUP,不错,可能是因为是用java来写的原因我觉得比C语言版本好读一点,谢谢各位热心的回答,结帐了。 这三个变量实际上是一个变量? 求助,关于equals 初学者的小问题,麻烦指教下---->为什么PrintStream一定要定义为属性 请教DOM append的问题 有关String和StringBuffer传值问题 J2SE中的指针模型 简单的网络问题,大家讨论一下为什么不行啊? java异常 有关于applet的问题sos 谁在用visual age3.5?留下正确QQ号码的得10分! 中文问题:utf-8编码转成GBK,因为位数不同而产生字符丢掉问题!! 在AIX上面java多线程编程要注意什么啊??急啊!!大家帮帮忙!!!
JFlex和CUP是可以用来实现基于JAVA语言的编译器
词法分析器就类似一个源代码的拼写检查器,一个象JFlex这样的词法工具,从一个指定的文件中读入词法规则,然后生成相应的词法分析器。我们不妨假设某个程序员需要定义一个名为pronto的语言,于是他将语言pronto的有效词法规则写在一个叫'pronto.flex'的文件中。然后再以命令行方式执行操作:'JFlex pronto.flex'。这样他就可以得到一个叫'Lexer.java'的JAVA程序,这个程序就是一个JAVA版本的pronto的词法分析器。
当然,这样一个单独的词法分析器仅有简单的功能,它除了可以告诉你程序是不是完全由合法的单词组成之外不能完成任何其他事情。 象CUP这样的工具,是通过从指定的文件中读入相应语言的语法规则的定义来生成对应的句法程序。我们继续使用虚构的新语言pronto,程序员需要将语法规则写入指定的文件‘pronto.cup’内,然后在命令行下执行‘java java_cup.Main < pronto.cup’,它会生成多个文件。其中有一个文件就是语言pronto的JAVA版的句法分析器,‘parser.java’。 当然,这样一个简单的句法分析器除了能告诉你程序是不是符合语言的语法之外,什么也做不了。我们所要讨论的句法程序将要完成更多的任务。在判断程序正确与否的同时,程序还要调用相应的代码来进行一些编码(例如,读到变量定义的地方时,需要对定义的变量进行记录? )。
http://www.jflex.de/download.html
eclipse比JB的编辑器强多了。