3 bison \- GNU Project parser generator (yacc replacement)
9 .BI \-\-file-prefix= file-prefix
29 .BI \-\-output-file= outfile
33 .BI \-\-name-prefix= prefix
55 .B \-\-fixed-output-files
60 is a parser generator in the style of
62 It should be upwardly compatible with input files designed
66 Input files should follow the
68 convention of ending in
72 the generated files do not have fixed names, but instead use the prefix
74 Moreover, if you need to put
76 code in the input file, you can end his name by a C++-like extension
77 (.ypp or .y++), then bison will follow your extension to name the
78 output file (.cpp or .c++).
79 For instance, a grammar description file named
81 would produce the generated parser in a file named
91 This description of the options that can be given to
93 is adapted from the node
97 manual, which should be taken as authoritative.
100 supports both traditional single-letter options and mnemonic long
101 option names. Long option names are indicated with
105 Abbreviations for option names are allowed as long as they
106 are unique. When a long option takes an argument, like
107 .BR \-\-file-prefix ,
108 connect the option name and the argument with
112 .BI \-b " file-prefix"
116 .BI \-\-file-prefix= file-prefix
117 Specify a prefix to use for all
119 output file names. The names are
120 chosen as if the input file were named
121 \fIfile-prefix\fB.c\fR.
128 Write an extra output file containing macro definitions for the token
129 type names defined in the grammar and the semantic value type
133 variable declarations.
135 If the parser output file is named
141 This output file is essential if you wish to put the definition of
143 in a separate source file, because
145 needs to be able to refer to token type codes and the variable
153 This switch causes the \fIname\fB.tab.c\fR output to include a list of
154 token names in order by their token numbers; this is defined in the array
171 preprocessor commands in the parser file.
174 puts them in the parser file so that the C compiler
175 and debuggers will associate errors with your source file, the
176 grammar file. This option causes them to associate errors with the
177 parser file, treating it an independent source file in its own right.
184 Do not generate the parser code into the output; generate only
185 declarations. The generated \fIname\fB.tab.c\fR file will have only
186 constant declarations. In addition, a \fIname\fB.act\fR file is
187 generated containing a switch statement body containing all the
194 .BI \-\-output-file= outfile
199 The other output files' names are constructed from
201 as described under the
211 .BI \-\-name-prefix= prefix
212 Rename the external symbols used in the parser so that they start with
216 The precise list of symbols renamed is
225 For example, if you use
237 Output a definition of the macro
239 into the parser file,
240 so that the debugging facilities are compiled.
247 Write an extra output file containing verbose descriptions of the
248 parser states and what is done for each type of look-ahead token in
251 This file also describes all the conflicts, both those resolved by
252 operator precedence and the unresolved ones.
254 The file's name is made by removing
258 from the parser output file name, and adding
262 Therefore, if the input file is
264 then the parser file is called
266 by default. As a consequence, the verbose
267 output file is called
275 Print the version number of
284 Print a summary of the options to
296 .B \-\-fixed-output-files
299 the parser output file is called
301 and the other outputs are called
305 The purpose of this switch is to imitate
307 output file name conventions.
308 Thus, the following shell script can substitute for
318 /usr/local/lib/bison.simple simple parser
320 /usr/local/lib/bison.hairy complicated parser
321 .SH "ENVIRONMENT VARIABLES"
324 If this is set, it specifies the location in which the
329 If this is set, it specifies the location in which the
336 .IR "Bison Reference Manual" ,