byacc man page on Pidora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Pidora logo
[printable version]

YACC(1)				 User Commands			       YACC(1)

NAME
       Yacc - an LALR(1) parser generator

SYNOPSIS
       yacc [ -dgilrtv ] [ -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 lan‐
       guage.  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.  It
	      contains #define's for the token identifiers.

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

       -i     The -i option causes a supplementary header file y.tab.i	to  be
	      written.	 It  contains  extern  declarations  and supplementary
	      #define's as needed to map  the  conventional  yacc  yy-prefixed
	      names  to	 whatever  the	-p option may specify.	The code file,
	      e.g., y.tab.c is modified to #include this file as well  as  the
	      y.tab.h  file, enforcing consistent usage of the symbols defined
	      in those files.

	      The supplementary header file makes it simpler to separate  com‐
	      pilation of lex- and yacc-files.

       -l     If the -l option is not specified, yacc will insert #line direc‐
	      tives in the generated code.  The #line  directives  let	the  C
	      compiler relate errors in the generated code to the user's orig‐
	      inal code.  If the -l option is specified, 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.  The prefix "y." can be overridden using  the  -b
	      option.

       -s     suppress "#define" statements generated for string literals in a
	      "%token" statement, to more closely match original  yacc	behav‐
	      ior.

       -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 gener‐
	      ated 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.

	%lex-param { argument-declaration }
	      By default, the lexer accepts no parameters, e.g., yylex().  Use
	      this directive to add parameter declarations for your customized
	      lexer.

	%parse-param { argument-declaration }
	      By default, the parser accepts no parameters,  e.g.,  yyparse().
	      Use  this	 directive to add parameter declarations for your cus‐
	      tomized parser.

	%pure-parser
	      Most variables (other than yydebug and yynerrs) are allocated on
	      the  stack  within  yyparse,  making the parser reasonably reen‐
	      trant.

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		       September 7, 2011		       YACC(1)
[top]

List of man pages available for Pidora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net