使用Javacc生成MiniJava编译器的.jj文件
实现的是一个MiniJava的扩展语言,1)添加了double类型,及其数组。2)实现了dowhile语句3)使用嵌入java代码的方式实现了自行构造语法树,节点类ANode请自行实现ANode类很简单,如果不要实现其它功能,直接用DefaultMutableTreeNode就行了。importap.*;是我实现的节点类的位置,如果要使用请改成自己的包位置。此文件通过javacc生成JAVA类,只要调用XyzJavaParser的Progarm方法,就会返回语法树的根节点。同时token流也会到底末尾,如果想重新获取第一个TOKEN,就要刷新流对象了。不明白可以去博客留言
用户评论
不错,学习了,这个非常有用,太谢谢了
不错,好好学学,但是还需要自己完善
需要的就是这个,非常感谢
比javacc自带的jjt灵活,功能也更多 但是需要自己再嵌套一些代码
这种方式虽然需要自己嵌套JAVA代码,但是比使用javacc自带的jjt更灵活一些,毕竟是自己实现的节点类Node,比之jcc提供的SimpleNode用着顺手~推荐~