Home > Documentation > Command Line Interface

You can obtain a synopsis of the command line syntax by simply typing:

$ javacc


    javacc option-settings inputfile

"option-settings" is a sequence of settings separated by spaces.
Each option setting must be of one of the following forms:

    -optionname=value (e.g., -STATIC=false)
    -optionname:value (e.g., -STATIC:false)
    -optionname       (equivalent to -optionname=true.  e.g., -STATIC)
    -NOoptionname     (equivalent to -optionname=false. e.g., -NOSTATIC)

Option settings are not case-sensitive, so one can say "-nOsTaTiC" instead
of "-NOSTATIC".  Option values must be appropriate for the corresponding
option, and must be either an integer, a boolean, or a string value.

The integer valued options are:

    LOOKAHEAD              (default 1)
    OTHER_AMBIGUITY_CHECK  (default 1)

The boolean valued options are:

    STATIC                 (default true)
    DEBUG_PARSER           (default false)
    DEBUG_LOOKAHEAD        (default false)
    DEBUG_TOKEN_MANAGER    (default false)
    ERROR_REPORTING        (default true)
    JAVA_UNICODE_ESCAPE    (default false)
    UNICODE_INPUT          (default false)
    IGNORE_CASE            (default false)
    COMMON_TOKEN_ACTION    (default false)
    USER_TOKEN_MANAGER     (default false)
    USER_CHAR_STREAM       (default false)
    BUILD_PARSER           (default true)
    BUILD_TOKEN_MANAGER    (default true)
    TOKEN_MANAGER_USES_PARSER (default false)
    SANITY_CHECK           (default true)
    FORCE_LA_CHECK         (default false)
    CACHE_TOKENS           (default false)
    KEEP_LINE_COLUMN       (default true)

The string valued options are:

    OUTPUT_DIRECTORY       (default Current Directory)
    TOKEN_EXTENDS          (java.lang.Object)
    TOKEN_FACTORY          (java.lang.Object)
    JDK_VERSION            (1.5)
    GRAMMAR_ENCODING       (default file.encoding)

    javacc -STATIC=false -LOOKAHEAD:2 -debug_parser mygrammar.jj


    JavaCC is a parser generator for the Java programming language.

Any option may be set either on the command line as shown above, or in the grammar file as described in the JavaCC grammar. The effect is exactly the same.

If the same option is set in both the command line and the grammar file, then the option setting in the command line takes precedence.