jtb - syntax tree builder for JavaCC
Contents
Description
This manual page documents briefly the jtb command.
JTB (Java Tree Builder) is a syntax tree builder and visitors generator to be used in front of JavaCC
(Java Compiler Compiler). It takes a JavaCC grammar file as input (usually a ".jtb" file) and
automatically generates the following:
- a set of syntax tree classes based on the productions in the grammar, utilizing the Visitor
design pattern;
- four interfaces: IVoidVisitor, IVoidArguVisitor, IRetVisitor, IRetArguVisitor;
- four depth-first visitors: DepthFirstVoidVisitor, DepthFirstVoidArguVisitor,
DepthFirstRetVisitor, DepthFirstREtArguVisitor, whose default methods simply visit the children of
the current node; a JavaCC grammar ".jj" file (jtb.out.jj by default), with the proper annotations
to build the syntax tree during parsing (which then must be compiled with JavaCC).
New visitors, which subclass any generated one, can then override the default methods and perform various
operations on and manipulate the generated syntax tree.
Name
jtb - syntax tree builder for JavaCC
Options
-cl Print a list of the classes generated to standard out.
-ddir "-ddir" is short for (and overwrites) "-nddir/syntaxtree -vddir/visitor".
-dl Generate depth level info.
-e Suppress JTB semantic error checking.
-f Use descriptive node class field names.
-h Display this help message and quit.
-ia Inline visitors accept methods on base classes.
-jd Generate JavaDoc-friendly comments in the nodes and visitor.
-ndNAME
Use NAME as the package for the syntax tree nodes.
-npNAME
Use NAME as the package for the syntax tree nodes.
-nsNAME
Use NAME as the class which all node classes will extend.
-oNAME
Use NAME as the filename for the annotated output grammar.
-pNAME
"-ppkg" is short for (and overwrites) "-nppkg.syntaxtree -vppkg.visitor".
-pp Generate parent pointers in all node classes.
-printer
Generate a syntax tree dumping visitor.
-si Read from standard input rather than a file.
-scheme
Generate Scheme records representing the grammar and a Scheme tree building visitor.
-tk Generate special tokens into the tree.
-vdNAME
Use NAME as the package for the default visitor classes.
-vpNAME
Use NAME as the package for the default visitor classes.
-w Do not overwrite existing files.
See Also
javacc(1)
Synopsis
jtb [options] inputfile
