JTB can be compared to JJTree in the following way:
11/2015 - 1.4.10 : added JTB.do_main() returning an int return code
08/2015 - 1.4.9 : same as 1.4.8.fix_a
01/2015 - 1.4.8.fix_a : fixed regression in jtb.out.jj generation
10/2012-12/2014 - 1.4.8 : added generation of JavaCodeProductions ('%' syntax); fixed bug #3164860; fixed some messages; fixed some problems (null choice for an empty choice, prefix / suffix management in lookahead); checked duplicated Javacode production names; fixed the Java grammar (in ExplicitConstructorInvocation & ClassOrInterfaceBodyDeclaration); added annotations in the generated classes; fixed some cases and improved printing specials (comments); improved short names generation for generated intermediate variables; modified the warning message on ignored LOOKAHEAD (as it can actually be not ignored); fixed java blocs generation; some internals improvements
09/2012 - 1.4.7 : added sub comments in the generated visitors java code; did some optimizations; fixed
 bugs JTB-1 & JTB-2; fixed some generation errors; added a check when 'n = prod()' and 'void prod()';
 added the '!' syntax for not generating a node creation (in a BNFProduction, RegExprSpec and ExpansionUnit)
; fixed some Java grammar issues and did some refactoring; added column numbers in messages; performed
 tests on more limit cases; fixed missing  
01/2011 - 1.4.6 : JTB hosted at http://java.net/projects/jtb; new contributor (Francis Andre Kampbell);
 added -va and -npfx and -nsfx options 
12/2010 - 1.4.5 : Convert nodes and visitors output directories to absolute paths 
7/2010 - 1.4.4 : Fixed missing space after throws issue in visiting MethodDeclaration & ConstructorDeclaration
 of JavaPrinter; Fixed index issue in visiting TypeArguments of JavaPrinter 
04/2010 - 1.4.3.2 : bug #2991455 
04/2010 - 1.4.3.1 : bugs #2990962 and #2989497 
03/2010 - 1.4.3 : Fixed wrong conditionals generation and TreeFormatter generation issues;
 added node declarations initialization 
02/2010 - 1.4.2 : Fixed missing java.util package in generated JTBToolkit class,
 fixed accept inlining issue in visiting ExpansionChoices 
02/2010 - 1.4.1 : Fixed wrong conditionals generation and missing static modifier for generated return types
 issues (bug 2945965), fixed hard error in semantic checker, fixed command line options overwrite issue 
11/2009 - 1.4.0 : New version delivered / integrated under the
 JavaCC Eclipse Plug-in 
xx/2005 - 1.3.2 : Last (known) version from UCLA Compilers Group 
: see JTB 1.3.2 home page 
 
 
JTB 1.4.7 is meant to be used as a front end for JavaCC 5.0, with a 1.6.0 JDK, and so is command line by nature. 
On the command line: 
 
 
 
 
New Features in version 1.4.0+ / 1.4.7
Here are the following enhancements that have been added to JTB 1.3.2:
i.e: JTB_O = "myout.jj" <-> -o myout.jj,
 JTB_TK = true <-> -tk
How to use
Environment:
But it has been integrated within the JavaCC Eclipse Plugin, which embeds the latest
 JTB version each time is is released, and avoids running the tool on the command line.java -jar jtb-1.4.x.jar -h : to view all available options
java -jar jtb-1.4.x.jar [CL_Option] -si : to use system.in as the input file
java -jar jtb-1.4.x.jar [CL_Option] [input-file] : to use input-file as the input file
In the input file options section:options {(JTB_BOOL_OPT=(true|false); | JTB_STR_OPT="str";)*}
Options are the following:
CL_Option JTB_Option Description -cl       JTB_CL=(true|false) Print a list of the classes generated to standard out -d dir    JTB_D="dir"         Short for (and overwrites) "-nd dir/syntaxtree -vd dir/visitor" -dl       JTB_DL=(true|false) Generate depth level info -e        JTB_E=(true|false)  Suppress JTB semantic error checking -f        JTB_F=(true|false)  Use descriptive node class field names -h        N/A                 Display this help message and quit -ia       JTB_IA=(true|false) Inline visitors accept methods on base classes -jd       JTB_JD=(true|false) Generate JavaDoc-friendly comments in the nodes and visitor -nd dir   JTB_ND="dir"        Use dir as the package for the syntax tree nodes -np pkg   JTB_NP="pkg"        Use pkg as the package for the syntax tree nodes -ns class JTB_NS="class"      Use class as the class which all node classes will extend -o file   JTB_o="file"        Use file as the filename for the annotated output grammar -p pkg    JTB_P="pkg"         Short for (and overwrites) "-np pkg.syntaxtree -vp pkg.visitor" -pp       JTB_PP=(true|false) Generate parent pointers in all node classes -printer  JTB_PRINTER         Generate a syntax tree dumping visitor -si       N/A                 Read from standard input rather than a file -scheme   JTB_SCHEME          Generate Scheme records representing the grammar and a Scheme tree building visitor -tk       JTB_TK=(true|false) Generate special tokens into the tree -vd dir   JTB_VD="dir"        Use dir as the package for the default visitor classes -vp pkg   JTB_VP="pkg"        Use pkg as the package for the default visitor classes -w        JTB_W=(true|false ) Do not overwrite existing files Support
Feel free to report any bug or suggest enhancement at the
 JavaCC Eclipse Plug-in Sourceforge site.Download
JTB download page.License
JTB 1.3.2 is licensed under the BSD license.
JTB 1.4.x adds the GPL license and the CECILL license.