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