1BISON(1)                         User Commands                        BISON(1)
2
3
4

NAME

6       bison - GNU Project parser generator (yacc replacement)
7

SYNOPSIS

9       bison [OPTION]... FILE
10

DESCRIPTION

12       Bison  is a parser generator in the style of yacc(1).  It should be up‐
13       wardly compatible with input files designed for yacc.
14
15       Input files should follow the yacc convention of ending in .y.   Unlike
16       yacc,  the generated files do not have fixed names, but instead use the
17       prefix of the input file.  Moreover, if you need to put C++ code in the
18       input  file,  you  can  end  his  name by a C++-like extension (.ypp or
19       .y++), then bison will follow your extension to name  the  output  file
20       (.cpp  or  .c++).   For  instance,  a  grammar  description  file named
21       parse.yxx  would  produce  the  generated  parser  in  a   file   named
22       parse.tab.cxx,  instead  of  yacc's  y.tab.c  or  old  Bison  version's
23       parse.tab.c.
24
25       This description of the options that can be given to bison  is  adapted
26       from  the  node  Invocation  in  the bison.texi manual, which should be
27       taken as authoritative.
28
29       Bison supports both traditional single-letter options and mnemonic long
30       option  names.   Long  option names are indicated with -- instead of -.
31       Abbreviations for option names are allowed as long as they are  unique.
32       When  a  long option takes an argument, like --file-prefix, connect the
33       option name and the argument with =.
34
35       Generate a deterministic LR or generalized LR  (GLR)  parser  employing
36       LALR(1), IELR(1), or canonical LR(1) parser tables.
37
38       Mandatory  arguments  to  long  options are mandatory for short options
39       too.  The same is true for optional arguments.
40
41   Operation Modes:
42       -h, --help
43              display this help and exit
44
45       -V, --version
46              output version information and exit
47
48       --print-localedir
49              output directory containing locale-dependent data and exit
50
51       --print-datadir
52              output directory containing skeletons and XSLT and exit
53
54       -u, --update
55              apply fixes to the source grammar file and exit
56
57       -f, --feature[=FEATURES]
58              activate miscellaneous features
59
60   FEATURES is a list of comma separated words that can include:
61       caret, diagnostics-show-caret
62              show errors with carets
63
64       fixit, diagnostics-parseable-fixits
65              show machine-readable fixes
66
67       syntax-only
68              do not generate any file
69
70       all    all of the above
71
72       none   disable all of the above
73
74   Diagnostics:
75       -W, --warnings[=CATEGORY]
76              report the warnings falling in CATEGORY
77
78       --color[=WHEN]
79              whether to colorize the diagnostics
80
81       --style=FILE
82              specify the CSS FILE for colorizer diagnostics
83
84   Warning categories include:
85       conflicts-sr
86              S/R conflicts (enabled by default)
87
88       conflicts-rr
89              R/R conflicts (enabled by default)
90
91       counterexamples, cex
92              generate conflict counterexamples
93
94       dangling-alias
95              string aliases not attached to a symbol
96
97       deprecated
98              obsolete constructs
99
100       empty-rule
101              empty rules without %empty
102
103       midrule-values
104              unset or unused midrule values
105
106       precedence
107              useless precedence and associativity
108
109       yacc   incompatibilities with POSIX Yacc
110
111       other  all other warnings (enabled by default)
112
113       all    all the warnings except 'counterexamples', 'dangling-alias'  and
114              'yacc'
115
116       no-CATEGORY
117              turn off warnings in CATEGORY
118
119       none   turn off all the warnings
120
121       error[=CATEGORY]
122              treat warnings as errors
123
124   WHEN can be one of the following:
125       always, yes
126              colorize the output
127
128       never, no
129              don't colorize the output
130
131       auto, tty
132              colorize if the output device is a tty
133
134   Tuning the Parser:
135       -L, --language=LANGUAGE
136              specify the output programming language
137
138       -S, --skeleton=FILE
139              specify the skeleton to use
140
141       -t, --debug
142              instrument the parser for tracing same as '-Dparse.trace'
143
144       --locations
145              enable location support
146
147       -D, --define=NAME[=VALUE]
148              similar to '%define NAME VALUE'
149
150       -F, --force-define=NAME[=VALUE]
151              override '%define NAME VALUE'
152
153       -p, --name-prefix=PREFIX
154              prepend PREFIX to the external symbols deprecated by '-Dapi.pre‐
155              fix={PREFIX}'
156
157       -l, --no-lines
158              don't generate '#line' directives
159
160       -k, --token-table
161              include a table of token names
162
163       -y, --yacc
164              emulate POSIX Yacc
165
166   Output Files:
167       --defines[=FILE]
168              also produce a header file
169
170       -d     likewise but cannot specify FILE (for POSIX Yacc)
171
172       -r, --report=THINGS
173              also produce details on the automaton
174
175       --report-file=FILE
176              write report to FILE
177
178       -v, --verbose
179              same as '--report=state'
180
181       -b, --file-prefix=PREFIX
182              specify a PREFIX for output files
183
184       -o, --output=FILE
185              leave output to FILE
186
187       -g, --graph[=FILE]
188              also output a graph of the automaton
189
190       -x, --xml[=FILE]
191              also output an XML report of the automaton
192
193       -M, --file-prefix-map=OLD=NEW replace prefix OLD with NEW when  writing
194       file paths
195              in output files
196
197   THINGS is a list of comma separated words that can include:
198       states describe the states
199
200       itemsets
201              complete the core item sets with their closure
202
203       lookaheads
204              explicitly associate lookahead tokens to items
205
206       solved describe shift/reduce conflicts solving
207
208       counterexamples, cex
209              generate conflict counterexamples
210
211       all    include all the above information
212
213       none   disable the report
214

AUTHOR

216       Written by Robert Corbett and Richard Stallman.
217

REPORTING BUGS

219       Report bugs to <bug-bison@gnu.org>.
220       GNU Bison home page: <https://www.gnu.org/software/bison/>.
221       General help using GNU software: <https://www.gnu.org/gethelp/>.
222       For complete documentation, run: info bison.
223
225       Copyright © 2021 Free Software Foundation, Inc.
226       This is free software; see the source for copying conditions.  There is
227       NO warranty; not even for MERCHANTABILITY or FITNESS FOR  A  PARTICULAR
228       PURPOSE.
229

SEE ALSO

231       lex(1), flex(1), yacc(1).
232
233       The full documentation for bison is maintained as a Texinfo manual.  If
234       the info and bison programs are properly installed at  your  site,  the
235       command
236
237              info bison
238
239       should give you access to the complete manual.
240
241
242
243GNU Bison 3.7.6                   March 2021                          BISON(1)
Impressum