Annotation of 43BSDTahoe/man/man1/yacc.1, revision 1.1.1.1

1.1       root        1: .\"    @(#)yacc.1      6.1 (Berkeley) 4/29/85
                      2: .\"
                      3: .TH YACC 1 "April 29, 1985"
                      4: .AT 3
                      5: .SH NAME
                      6: yacc \- yet another compiler-compiler
                      7: .SH SYNOPSIS
                      8: .B yacc
                      9: [
                     10: .B \-vd
                     11: ]
                     12: grammar
                     13: .SH DESCRIPTION
                     14: .I Yacc
                     15: converts a context-free grammar into a set of
                     16: tables for a simple automaton which executes an LR(1) parsing
                     17: algorithm.
                     18: The grammar may be ambiguous;
                     19: specified precedence rules are used to break ambiguities.
                     20: .PP
                     21: The output file,
                     22: .IR y.tab.c ,
                     23: must be compiled by the C compiler
                     24: to produce a program
                     25: .IR yyparse .
                     26: This program must be loaded with the lexical analyzer program,
                     27: .IR yylex ,
                     28: as well as
                     29: .I main
                     30: and
                     31: .IR yyerror ,
                     32: an error handling routine.
                     33: These routines must be supplied by the user;
                     34: .IR Lex (1)
                     35: is useful for creating lexical analyzers usable by
                     36: .IR yacc .
                     37: .PP
                     38: If the
                     39: .B \-v
                     40: flag is given, the file
                     41: .I y.output
                     42: is prepared, which contains a description of the parsing tables
                     43: and a report on
                     44: conflicts generated by ambiguities in the grammar.
                     45: .PP
                     46: If the \-\fBd\fR flag is used, the file
                     47: .I y.tab.h
                     48: is generated with the
                     49: .I define
                     50: statements that associate the
                     51: .I yacc\c
                     52: -assigned `token codes' with the user-declared `token names'.
                     53: This allows source files other than
                     54: .I y.tab.c
                     55: to access the token codes.
                     56: .SH FILES
                     57: .ta \w'yacc.tmp, yacc.acts 'u
                     58: y.output
                     59: .br
                     60: y.tab.c
                     61: .br
                     62: y.tab.h        defines for token names
                     63: .br
                     64: yacc.tmp, yacc.acts    temporary files
                     65: .br
                     66: /usr/lib/yaccpar       parser prototype for C programs
                     67: .SH "SEE ALSO"
                     68: .IR lex (1)
                     69: .br
                     70: .I "LR Parsing"
                     71: by A. V. Aho and S. C. Johnson,
                     72: Computing Surveys, June, 1974.
                     73: .br
                     74: .I "YACC \- Yet Another Compiler Compiler"
                     75: by S. C. Johnson.
                     76: .SH DIAGNOSTICS
                     77: The number of reduce-reduce and shift-reduce conflicts
                     78: is reported on the standard output;
                     79: a more detailed report is
                     80: found in the
                     81: .I y.output
                     82: file.
                     83: Similarly, if some rules are not reachable from the
                     84: start symbol, this is also reported.
                     85: .SH BUGS
                     86: Because file names are fixed, at most one
                     87: .I yacc
                     88: process can be active in a given directory at
                     89: a time.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.