Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
YACC(1)			  BSD General Commands Manual		       YACC(1)

NAME
     yacc -- an	LALR(1)	parser generator

SYNOPSIS
     yacc [-dlrtv] [-b file_prefix] [-o	output_filename] [-p symbol_prefix]
	  filename

DESCRIPTION
     The yacc utility 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.	The yacc utility normally writes the parse tables and the
     driver routine to the file	y.tab.c.

     The following options are available:

     -b	file_prefix
	     Change the	prefix prepended to the	output file names to the
	     string denoted by file_prefix.  The default prefix	is the charac-
	     ter y.

     -d	     Cause the header file y.tab.h to be written.

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

     -o	output_filename
	     Cause yacc	to write the generated code to output_filename instead
	     of	the default file, y.tab.c.

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

     -r	     Cause 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	     Change the	preprocessor directives	generated by yacc so that de-
	     bugging statements	will be	incorporated in	the compiled code.

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

ENVIRONMENT
     TMPDIR  Name of directory where temporary files are to be created.

TABLES
     The names of the tables generated by this version of yacc are yylhs,
     yylen, yydefred, yydgoto, yysindex, yyrindex, yygindex, yytable, and
     yycheck.  Two additional tables, yyname and yyrule, are created if
     YYDEBUG is	defined	and non-zero.

FILES
     y.code.c
     y.tab.c
     y.tab.h
     y.output
     /tmp/yacc.aXXXXXXXXXX
     /tmp/yacc.tXXXXXXXXXX
     /tmp/yacc.uXXXXXXXXXX

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 num-
     ber of conflicts is reported on standard error.

SEE ALSO
     yyfix(1)

STANDARDS
     The yacc utility conforms to IEEE Std 1003.2 ("POSIX.2").

HISTORY
     A yacc command appeared in	PWB UNIX.

BSD				 May 24, 1993				   BSD

NAME | SYNOPSIS | DESCRIPTION | ENVIRONMENT | TABLES | FILES | DIAGNOSTICS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=yacc&sektion=1&manpath=FreeBSD+8.3-RELEASE>

home | help