]> git.saurik.com Git - bison.git/blame - doc/bison.1
* src/gram.c: Remove comments that duplicate comments in gram.h.
[bison.git] / doc / bison.1
CommitLineData
727a1401
AD
1.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36.
2.TH BISON "1" "November 2007" "bison 2.3a+" "User Commands"
a641b0da
DM
3.SH NAME
4bison \- GNU Project parser generator (yacc replacement)
5.SH SYNOPSIS
6.B bison
727a1401 7[\fIOPTION\fR]... \fIFILE\fR
a641b0da
DM
8.SH DESCRIPTION
9.I Bison
10is a parser generator in the style of
11.IR yacc (1).
12It should be upwardly compatible with input files designed
13for
14.IR yacc .
15.PP
16Input files should follow the
17.I yacc
18convention of ending in
19.BR .y .
20Unlike
21.IR yacc ,
22the generated files do not have fixed names, but instead use the prefix
23of the input file.
4e0813a6
PE
24Moreover, if you need to put
25.I C++
234a3be3 26code in the input file, you can end his name by a C++-like extension
4e0813a6 27(.ypp or .y++), then bison will follow your extension to name the
234a3be3 28output file (.cpp or .c++).
a641b0da 29For instance, a grammar description file named
234a3be3 30.B parse.yxx
a641b0da 31would produce the generated parser in a file named
234a3be3 32.BR parse.tab.cxx ,
a641b0da
DM
33instead of
34.IR yacc 's
4e0813a6
PE
35.B y.tab.c
36or old
37.I Bison
38version's
234a3be3 39.BR parse.tab.c .
a641b0da
DM
40.PP
41This description of the options that can be given to
42.I bison
43is adapted from the node
44.B Invocation
45in the
46.B bison.texinfo
47manual, which should be taken as authoritative.
48.PP
49.I Bison
50supports both traditional single-letter options and mnemonic long
51option names. Long option names are indicated with
52.B \-\-
53instead of
54.BR \- .
55Abbreviations for option names are allowed as long as they
56are unique. When a long option takes an argument, like
57.BR \-\-file-prefix ,
58connect the option name and the argument with
59.BR = .
727a1401
AD
60.PP
61Generate LALR(1) and GLR parsers.
62.PP
63Mandatory arguments to long options are mandatory for short options too.
64.SS "Operation modes:"
a641b0da 65.TP
727a1401
AD
66\fB\-h\fR, \fB\-\-help\fR
67display this help and exit
a641b0da 68.TP
727a1401
AD
69\fB\-V\fR, \fB\-\-version\fR
70output version information and exit
a641b0da 71.TP
727a1401
AD
72\fB\-\-print\-localedir\fR
73output directory containing locale\-dependent data
a641b0da 74.TP
727a1401
AD
75\fB\-\-print\-datadir\fR
76output directory containing skeletons and XSLT
342b8b6e 77.TP
727a1401
AD
78\fB\-y\fR, \fB\-\-yacc\fR
79emulate POSIX Yacc
342b8b6e 80.TP
727a1401
AD
81\fB\-W\fR, \fB\-\-warnings\fR=\fI[CATEGORY]\fR
82report the warnings falling in CATEGORY
83.SS "Parser:"
342b8b6e 84.TP
727a1401
AD
85\fB\-S\fR, \fB\-\-skeleton\fR=\fIFILE\fR
86specify the skeleton to use
333ccc01 87.TP
727a1401
AD
88\fB\-t\fR, \fB\-\-debug\fR
89instrument the parser for debugging
333ccc01 90.TP
727a1401
AD
91\fB\-\-locations\fR
92enable locations computation
a641b0da 93.TP
727a1401
AD
94\fB\-p\fR, \fB\-\-name\-prefix\fR=\fIPREFIX\fR
95prepend PREFIX to the external symbols
a641b0da 96.TP
727a1401
AD
97\fB\-l\fR, \fB\-\-no\-lines\fR
98don't generate `#line' directives
a641b0da 99.TP
727a1401
AD
100\fB\-k\fR, \fB\-\-token\-table\fR
101include a table of token names
102.SS "Output:"
a641b0da 103.TP
727a1401
AD
104\fB\-d\fR, \fB\-\-defines\fR[=\fIFILE\fR]
105also produce a header file
a641b0da 106.TP
727a1401
AD
107\fB\-r\fR, \fB\-\-report\fR=\fITHINGS\fR
108also produce details on the automaton
a641b0da 109.TP
727a1401
AD
110\fB\-v\fR, \fB\-\-verbose\fR
111same as `\-\-report=state'
a641b0da 112.TP
727a1401
AD
113\fB\-b\fR, \fB\-\-file\-prefix\fR=\fIPREFIX\fR
114specify a PREFIX for output files
a641b0da 115.TP
727a1401
AD
116\fB\-o\fR, \fB\-\-output\fR=\fIFILE\fR
117leave output to FILE
a641b0da 118.TP
727a1401
AD
119\fB\-g\fR, \fB\-\-graph\fR[=\fIFILE\fR]
120also output a graph of the automaton
a641b0da 121.TP
727a1401
AD
122\fB\-x\fR, \fB\-\-xml\fR[=\fIFILE\fR]
123also output an XML report of the automaton
124.SS "Warning categories include:"
a641b0da 125.TP
727a1401
AD
126`midrule\-values'
127unset or unused midrule values
a641b0da 128.TP
727a1401
AD
129`yacc'
130incompatibilities with POSIX YACC
5fcfb6e7 131.TP
727a1401
AD
132`all'
133all the warnings
a641b0da 134.TP
727a1401
AD
135`no\-CATEGORY'
136turn off warnings in CATEGORY
a641b0da 137.TP
727a1401
AD
138`none'
139turn off all the warnings
a641b0da 140.TP
727a1401
AD
141`error'
142treat warnings as errors
143.SS "THINGS is a list of comma separated words that can include:"
144.TP
145`state'
146describe the states
147.TP
148`itemset'
149complete the core item sets with their closure
150.TP
151`lookahead'
152explicitly associate lookahead tokens to items
153.TP
154`solved'
155describe shift/reduce conflicts solving
156.TP
157`all'
158include all the above information
159.TP
160`none'
161disable the report
162.SH AUTHOR
163Written by Robert Corbett and Richard Stallman.
164.SH "REPORTING BUGS"
165Report bugs to <bug\-bison@gnu.org>.
cf2a5f7c 166.SH COPYRIGHT
727a1401
AD
167Copyright \(co 2007 Free Software Foundation, Inc.
168.br
169This is free software; see the source for copying conditions. There is NO
170warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
171.SH "SEE ALSO"
172.BR lex (1),
173.BR flex (1),
174.BR yacc (1).
175.PP
176The full documentation for
177.B bison
178is maintained as a Texinfo manual. If the
179.B info
180and
181.B bison
182programs are properly installed at your site, the command
183.IP
184.B info bison
185.PP
186should give you access to the complete manual.