# JavaCC [tm]: Documentation Index

By following the links from this page you should be able to obtain all necessary documentation on JavaCC [tm].

If you have further questions, please do not hesitate to contact us. We recommend the following step-by-step process to learning JavaCC:

- Go through the simple examples that are available as part of the Java Compiler Compiler [tm] release. This is located under the `examples` directory in a directory called `SimpleExamples`. Read the file `README` in this directory for complete instructions.
- Go through the tree building examples (that use JJTree) that are also available as part of the JavaCC release. This is located under the `examples` directory in a directory called `JJTreeExamples`. Read the file `README` in this directory for complete instructions.
- Study the description of the JavaCC grammar file. This provides the complete syntax of the grammar file along with a detailed description of these constructs. There are also many examples in the grammar repository.
- Click here to see the document that describes the command line input syntax.
- The JavaCC API routines are a bunch of classes, methods, and variables which may be accessed from user code (typically from actions - the java_block in the syntax).
- Click here to get to the JJTree documentation.
- Click here to get to the JJDoc documentation.
- Detailed JavaCC documentation is organized as a set of minitutorials, each on a separate topic. The following minitutorials are currently available:
  - Lookahead MiniTutorial: This is a complete guide to how lookahead processing is performed and provides tips on how to insert local lookahead specifications.
  - Token Manager MiniTutorial: This is a description to how the token manager works.
  - Customizing Error Messages and Recovering From Errors: This document describes how you can customize error messages and also recover from errors during parsing.
  - Using the Default Character Stream Readers: This document describes the various ways in which you can use the default character stream reader classes that are generated by JavaCC.