/**
 * this directory contains a parser for Newick format tree files. It is
 * originally written by yunhong. We use javacc, an automatic java compiler
 * generator for this work. Grammar and the corresponding action is in the
 * file Newick.jj. 
 *
 * You can download javacc for free from
 * http://www.experimentalstuff.com/Technologies/JavaCC/index.html.
 * We include the automatically created .java files in these directories for
 * convenience so that you only have to download the compiler compiler
 * if you change the .jj files.
 *
 * If you run the command "javacc Newick.jj", it will automatically generate
 * the following java files:
 *
 * Newick.java \ 
 * NewickConstants.java \
 * ParseException.java \
 * TokenMgrError.java \             
 * SimpleCharStream.java \
 * NewickTokenManager.java \
 * Token.java \
 * 
 * Among them, Newick.java is the corresponding java class file. Others are
 * used to help parsing. 
 *
 * Following is a list of trouble shooting problems and solutions:
 * 
 * 1. You may get hundreds of errors with one error complaining about duplicate
 * class if you have different directories. You need to declare your parsing
 * directory as a package. Here for Newick.jj, we declare the following:
 * package Parser;
 * 
 * 2. Some typical error messages after creating package Parser: 
 * ./AccordionDrawer/Newick.java:4: duplicate class: Newick
 * public class Newick implements NewickConstants {
 *        ^
 * 
 * AccordionDrawer/Tree.java:33: cannot resolve symbol
 * symbol  : method parseTree  (AccordionDrawer.Tree)
 * location: class AccordionDrawer.Newick
 *         parser.parseTree(this);
 *               ^
 * solution:
 * For file Tree.java, only include the following:
 * import Parser.Newick;
 * 
 * 3. If you make some change with .jj file, the existing files will
 * not be overwritten except Newick.java. If you make changes to Newick.jj,
 * you need to delete all the java files and run javacc again.   
 * 
 * 4. You may get a deprecated class warning if you use an out-of-date
 * javacc. I recommend you to use the newest version of javacc. 
 */
