是纯Java写的,如果你做过关于代码方面的Add-in,就会用到它的JOT。

解决方案 »

  1.   

    有纯java的Yacc?呵呵,那就好了,是什么,具体的说一下吧!JOT,我也不明白,不好意思,JAVA我还是初学,请具体的谈谈吧!
      

  2.   

    有两个纯Java的冬冬,和lex/yacc的功能是一样的,叫做JFlex和CUP。我上学期用它们做了一个C compiler.
      

  3.   

    两种具有代表性的编译工具: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’。     当然,这样一个简单的句法分析器除了能告诉你程序是不是符合语言的语法之外,什么也做不了。我们所要讨论的句法程序将要完成更多的任务。在判断程序正确与否的同时,程序还要调用相应的代码来进行一些编码(例如,读到变量定义的地方时,需要对定义的变量进行记录? )。
      

  4.   

    呵呵,现在有一个开放源代码的IDE,叫什么我忘了,你可以看看啊
      

  5.   

    This is where you can download JFlex
    http://www.jflex.de/download.html
      

  6.   

    看看eclipse的JDT部分源代码吧。BTW:
    eclipse比JB的编辑器强多了。
      

  7.   

    今天,下了JLex与CUP,不错,可能是因为是用java来写的原因我觉得比C语言版本好读一点,谢谢各位热心的回答,结帐了。