Annotation of researchv10dc/man/adm/man1/yacc.1, revision 1.1.1.1

1.1       root        1: .TH YACC 1
                      2: .CT 1 prog_other
                      3: .SH NAME
                      4: yacc, eyacc \- yet another compiler-compiler
                      5: .SH SYNOPSIS
                      6: .B yacc
                      7: [
                      8: .I option ...
                      9: ]
                     10: .I grammar
                     11: .PP
                     12: .B eyacc
                     13: [
                     14: .B -v
                     15: ]
                     16: [
                     17: .I grammar
                     18: ]
                     19: .SH DESCRIPTION
                     20: .I Yacc
                     21: converts a context-free grammar and translation code
                     22: into a set of
                     23: tables for an LR(1) parser and translator.
                     24: The grammar may be ambiguous;
                     25: specified precedence rules are used to break ambiguities.
                     26: .PP
                     27: The output file,
                     28: .FR y.tab.c ,
                     29: must be compiled by the C compiler
                     30: to produce a program
                     31: .LR yyparse .
                     32: This program must be loaded with a lexical analyzer function,
                     33: .IR yylex ()
                     34: (often generated by
                     35: .IR lex (1)),
                     36: with a
                     37: .IR main ()
                     38: program, and with an error handling routine,
                     39: .IR yyerror ().
                     40: Simple default versions of the last two are loaded by option
                     41: .B \%-ly
                     42: of
                     43: .IR ld (1).
                     44: .PP
                     45: The options are
                     46: .TP
                     47: .BI -o " output
                     48: Direct output to the specified file instead of
                     49: .FR y.tab.c.
                     50: .TP
                     51: .B -D
                     52: Create file
                     53: .FR y.debug ,
                     54: containing diagnostic messages.
                     55: To incorporate
                     56: them in the parser, compile it with preprocessor symbol
                     57: .B YYDEBUG
                     58: defined.
                     59: The amount of 
                     60: diagnostic output from the parser is regulated by
                     61: values of an external variable
                     62: .LR yydebug :
                     63: .RS 
                     64: .TP
                     65: 0
                     66: Report errors.
                     67: .TP
                     68: 1
                     69: Also report reductions.
                     70: .TP
                     71: 2
                     72: Also report the name of each token returned by
                     73: .LR yylex .
                     74: .RE
                     75: .TP
                     76: .B -v
                     77: Create file
                     78: .FR y.output ,
                     79: containing a description of the parsing tables and of
                     80: conflicts arising from ambiguities in the grammar.
                     81: .TP
                     82: .B -d
                     83: Create file
                     84: .FR y.tab.h ,
                     85: containing
                     86: .B #define
                     87: statements that associate
                     88: .IR yacc -assigned
                     89: `token codes' with user-declared `token names'.
                     90: Include it in source files other than
                     91: .F y.tab.c
                     92: to give access to the token codes.
                     93: .TP
                     94: .BI -s " stem
                     95: Change the prefix
                     96: .L y 
                     97: of the file names
                     98: .FR y.tab.c ,
                     99: .FR y.tab.h ,
                    100: .FR y.debug ,
                    101: and
                    102: .F y.output
                    103: to
                    104: .I stem.
                    105: .PP
                    106: .I Eyacc
                    107: is a special version of
                    108: .I yacc,
                    109: with systematic error recovery.
                    110: It is used to compile
                    111: .IR pascal (A).
                    112: .SH FILES
                    113: .TF /usr/lib/yaccpar
                    114: .TP
                    115: .F y.output
                    116: .TP
                    117: .F y.tab.c
                    118: .TP
                    119: .F y.tab.h
                    120: .TP
                    121: .F y.debug
                    122: .TP
                    123: .F y.tmp.*
                    124: temporary file
                    125: .TP
                    126: .F y.acts.*
                    127: temporary file
                    128: .TP
                    129: .F /usr/lib/yaccpar
                    130: parser prototype for C programs
                    131: .TP
                    132: .F /usr/lib/liby.a
                    133: library 
                    134: .B -ly
                    135: .SH "SEE ALSO"
                    136: .IR lex (1)
                    137: .br
                    138: S. C. Johnson and R. Sethi,
                    139: this manual, Volume 2
                    140: .SH BUGS
                    141: The parser may not have full information when it writes to
                    142: .F y.debug
                    143: so that the names of the tokens returned by
                    144: .L yylex
                    145: may be missing.

unix.superglobalmegacorp.com

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