JJTree 中的 SimpleNode 子节点
我在教程中读到,当您执行类似操作时:
SimpleNode Program() #Program : {}
{
(Class_decl())* <EOF>
{ return jjtThis; }
}
它应该创建一个继承自 SimpleNode 的 Programm 类(一旦您使用 jjtree 进行编译),但在我的情况下,它不会创建这样的类。我必须自己创建它还是我错过了什么?
谢谢
I read in a tutorial that when you do something like that :
SimpleNode Program() #Program : {}
{
(Class_decl())* <EOF>
{ return jjtThis; }
}
it should create a Programm class which inherits from SimpleNode (once you compile with jjtree), but in my case it doesn't create such as class. Do I have to create it myself or am I missing something ?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否首先在语法上使用
jjtree
(在javacc
之前)?它对我来说工作得很好:文件:Test.jjt
然后命令:
生成以下 Java 源文件:
并且
ClassDecl
和Program
都扩展SimpleNode:
编译所有源文件并运行
Test
类:将打印:(
即
Program
是具有两个ClassDecl
子级的根)已测试带Java编译器的编译版本5.0。
Are you first using
jjtree
on your grammar (beforejavacc
)? It works fine with me:file: Test.jjt
And then the commands:
which generates the following Java source files:
And both
ClassDecl
andProgram
extendSimpleNode
:Compiling all source files and running the
Test
class:which will print:
(i.e.
Program
is the root with twoClassDecl
children)Tested with Java Compiler Compiler Version 5.0.