YACC(1) MachTen Programmer’s Manual YACC(1)

NAME
yacc - an LALR(1) parser generator

SYNOPSIS
yacc [ -dlrtv ] [ -b file_prefix ] [ -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
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.

-l If the -l option is not specified, yacc will
insert #line directives 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.

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

-r The -r option causes yacc to produce sepa-
rate 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 debug-
ging 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.

If the environment variable TMPDIR is set, the string
denoted by TMPDIR will be used as the name of the direc-
tory 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.

MachTen May 24, 1993 2