/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


YACC(1)                                                   User Commands                                                  YACC(1)



NAME
       Yacc - an LALR(1) parser generator

SYNOPSIS
       yacc [ -dglrtv ] [ -b file_prefix ] [ -p symbol_prefix ] filename

DESCRIPTION
       Yacc reads the grammar specification in the file filename and generates an LALR(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 file_prefix
              The  -b  option  changes  the prefix prepended to the output file names to the string denoted by file_prefix.  The
              default prefix is the character y.

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

       -g     The -g option causes a graphical description of the generated LALR(1) parser to be written to the  file  y.dot  in
              graphviz format, ready to be processed by dot(1).

       -l     If  the -l option is not specified, yacc will insert #line directives in the generated code.  The #line directives
              let the C compiler relate errors in the generated code to the user's original code.  If the -l  option  is  speci-
              fied, yacc will not insert the #line directives.  #line directives specified by the user will be retained.

       -o output_file
              specify  the  filename  for  the parser file.  If this option is not given, the output filename is the file prefix
              concatenated with the file suffix, e.g., y.tab.c.  This overrides the -p option.

       -p symbol_prefix
              The -p option changes the prefix prepended to yacc-generated symbols to the string denoted by symbol_prefix.   The
              default prefix is the string yy.

       -P     create a reentrant parser, e.g., "%pure-parser".

       -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  incorpo-
              rated 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.

       -V     print the version number to the standard output.

EXTENSIONS
       yacc provides some extensions for compatibility with bison and other implementations of yacc:

        %expect number
              tell yacc the expected number of shift/reduce conflicts.  That makes it only report the number if it differs.

        %expect-rr number
              tell  yacc  the  expected  number of reduce/reduce conflicts.  That makes it only report the number if it differs.
              This is (unlike bison) allowable in LALR parsers.

        %pure-parser
              Most variables (other than yydebug and yynerrs) are allocated on the stack within yyparse, making the parser  rea-
              sonably reentrant.

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.



Berkeley Yacc                                           February 16, 2010                                                YACC(1)

Valid XHTML 1.0!Valid CSS!