Man Linux: Main Page and Category List

NAME

       Yacc - an LALR(1) parser generator for Java

SYNOPSIS

       byaccj  [  -dlrtvJ  ]  [  -b prefix ] [-Jclass= classname ] [-Jpackage=
       package_name    ]    [-Jextends=    extends_name    ]    [-Jimplements=
       implements_name ] [-Jsemantic= semantic_type ] [-Jnorun] [-Jnocontruct]
       [-Jstack= NNN  ]  [-Jnodebug]  [-Jfinal]  [-Jthrows=  exception_list  ]
       filename

DESCRIPTION

       Yacc reads the grammar specification in the file filename and generates
       an LR(1) parser for it.  The  parsers  consist  of  a  set  of  LALR(1)
       parsing  tables  and  a  driver  routine  written  in the C programming
       language.  Yacc normally writes the parse tables and the driver routine
       to the file y.tab.c.

       The following options are available:

              -b prefix
                     The  -b option changes the prefix prepended to the output
                     file names to the string denoted by prefix.  The  default
                     prefix is the character y.

              -d     The  -d  option  causes  the  header  file  y.tab.h to be
                     written.

              -l     If the -l option is not specified, yacc will  insert  The
                     generated  code  to  the user’s original code.  If the -l
                     option is specified, yacc will not insert the .TP -r  The
                     -r  option causes yacc to produce separate files for code
                     and tables.  The code file is  named  y.code.c,  and  the
                     tables file is named y.tab.c.

              -t     The   -t   option  changes  the  preprocessor  directives
                     generated by yacc so that debugging  statements  will  be
                     incorporated in the compiled code.

              -v     The  -v option causes a human-readable description of the
                     generated parser to be written to the file y.output.

              -J     The -J option switches from C/C++  to  Java  output.  Not
                     necessary if other -J flags are used.

              -Jclass=<classname>
                     Changes  the  name  of the Java class (and .java file) to
                     classname

              -Jpackage=<packagename>
                      Changes the package in which the parser resides from the
                     default <nothing> to packagename

              -Jextends=<extend_name>
                      Changes  the  class  the parser extends from the default
                     <nothing> to extend_name

              -Jimplements=<implement_name>
                      Changes the interface the  parser  implements  from  the
                     default <nothing> to implement_name

              -Jsemantic=<semantic_type>
                       Changes  the  semantic  (value of the rules’ variables)
                     type to semantic_type.  No extra class will be generated.

              -Jnorun
                     The  -Jnorun option informs Byacc to not generate a run()
                     method. Useful when working with threads.

              -Jnoconstruct
                     The -Jnoconstruct option informs Byacc  to  not  generate
                     constructors. Useful when extending classes.

              -Jstack=<NNN>
                      Changes the stack size from default 500 to NNN

              -Jnodebug
                     The -Jnodebug option informs Byacc to omit debugging code
                     for further better performance.

              -Jfinal
                     The -Jfinal option makes generated class final.

              -Jthrows=<exception_list>
                      Informs Byacc to declare thrown exceptions for yyparse()
                     method.

       If the environment variable TMPDIR is set, the string denoted by TMPDIR
       will be used as the name of the directory where the temporary files are
       created.

FILES

       y.code.c
       y.tab.c
       y.tab.h
       y.output
       /tmp/yacc.aXXXXXX
       /tmp/yacc.tXXXXXX
       /tmp/yacc.uXXXXXX

DIAGNOSTICS

       If  there are rules that are never reduced, the number of such rules is
       reported on standard error.  If there are any  LALR(1)  conflicts,  the
       number of conflicts is reported on standard error.