看看 Jack 吧
http://www.metamata.com/JavaCC

http://www.javaworld.com/javaworld/jw-12-1996/jw-12-jack.html

解决方案 »

  1.   

    JACK里的东东搞的挺复杂, 我现在99只想简单的实现一下以上几条语句,有没有较简单的方法...
      

  2.   

    根据我的理解你想做的是一个语法解释器,关于这方面的内容我认为可以参照编译原理中语法分析器的相关内容,你甚至可以通过简单修改一下里面的代码来实现你的解释器。关于变量定义的问题,你可以象你所描述的那样进行预定义,预定义的结构也很简单(类型关键字 + 一般字符串),还有一种方法,就是早期Basic的方法,它把所有的字符串(不包括带“”的字符串)都作为一个变量。在保存对象时你有两种选择,一、将所有的变量都定义为Object类型,当你保存实例时使用变量的实际类型,还有一种方法你可以将你的数据类型定义为String在实际的使用过程中再进行类型转换(由于你的应用比较简单所以推荐你使用第二种方法),然后你将变量名作为key和你创建的对象实例(Object)一起存入哈希表,以后你就可以通过变量名来使用这个实例了。