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

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
YACC(1)			FreeBSD	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
     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	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
	     debugging 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.

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

FreeBSD	10.1			 May 24, 1993			  FreeBSD 10.1

NAME | SYNOPSIS | DESCRIPTION | FILES | DIAGNOSTICS

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

home | help