| .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.11. |
| .TH BISON "1" "December 2019" "bison 3.5" "User Commands" |
| .SH NAME |
| bison \- GNU Project parser generator (yacc replacement) |
| .SH SYNOPSIS |
| .B bison |
| [\fI\,OPTION\/\fR]... \fI\,FILE\/\fR |
| .SH DESCRIPTION |
| .I Bison |
| is a parser generator in the style of |
| .IR yacc (1). |
| It should be upwardly compatible with input files designed |
| for |
| .IR yacc . |
| .PP |
| Input files should follow the |
| .I yacc |
| convention of ending in |
| .BR .y . |
| Unlike |
| .IR yacc , |
| the generated files do not have fixed names, but instead use the prefix |
| of the input file. |
| Moreover, if you need to put |
| .I C++ |
| code in the input file, you can end his name by a C++-like extension |
| (.ypp or .y++), then bison will follow your extension to name the |
| output file (.cpp or .c++). |
| For instance, a grammar description file named |
| .B parse.yxx |
| would produce the generated parser in a file named |
| .BR parse.tab.cxx , |
| instead of |
| .IR yacc 's |
| .B y.tab.c |
| or old |
| .I Bison |
| version's |
| .BR parse.tab.c . |
| .PP |
| This description of the options that can be given to |
| .I bison |
| is adapted from the node |
| .B Invocation |
| in the |
| .B bison.texi |
| manual, which should be taken as authoritative. |
| .PP |
| .I Bison |
| supports both traditional single-letter options and mnemonic long |
| option names. Long option names are indicated with |
| .B \-\- |
| instead of |
| .BR \- . |
| Abbreviations for option names are allowed as long as they |
| are unique. When a long option takes an argument, like |
| .BR \-\-file-prefix , |
| connect the option name and the argument with |
| .BR = . |
| .PP |
| Generate a deterministic LR or generalized LR (GLR) parser employing |
| LALR(1), IELR(1), or canonical LR(1) parser tables. |
| .PP |
| Mandatory arguments to long options are mandatory for short options too. |
| The same is true for optional arguments. |
| .SS "Operation Modes:" |
| .TP |
| \fB\-h\fR, \fB\-\-help\fR |
| display this help and exit |
| .TP |
| \fB\-V\fR, \fB\-\-version\fR |
| output version information and exit |
| .TP |
| \fB\-\-print\-localedir\fR |
| output directory containing locale\-dependent data |
| and exit |
| .TP |
| \fB\-\-print\-datadir\fR |
| output directory containing skeletons and XSLT |
| and exit |
| .TP |
| \fB\-u\fR, \fB\-\-update\fR |
| apply fixes to the source grammar file and exit |
| .TP |
| \fB\-f\fR, \fB\-\-feature\fR[=\fI\,FEATURES\/\fR] |
| activate miscellaneous features |
| .SS "FEATURES is a list of comma separated words that can include:" |
| .TP |
| caret, diagnostics\-show\-caret |
| show errors with carets |
| .TP |
| fixit, diagnostics\-parseable\-fixits |
| show machine\-readable fixes |
| .TP |
| syntax\-only |
| do not generate any file |
| .TP |
| all |
| all of the above |
| .TP |
| none |
| disable all of the above |
| .SS "Diagnostics:" |
| .TP |
| \fB\-W\fR, \fB\-\-warnings\fR[=\fI\,CATEGORY\/\fR] |
| report the warnings falling in CATEGORY |
| .TP |
| \fB\-\-color\fR[=\fI\,WHEN\/\fR] |
| whether to colorize the diagnostics |
| .TP |
| \fB\-\-style\fR=\fI\,FILE\/\fR |
| specify the CSS FILE for colorizer diagnostics |
| .SS "Warning categories include:" |
| .TP |
| conflicts\-sr |
| S/R conflicts (enabled by default) |
| .TP |
| conflicts\-rr |
| R/R conflicts (enabled by default) |
| .TP |
| dangling\-alias |
| string aliases not attached to a symbol |
| .TP |
| deprecated |
| obsolete constructs |
| .TP |
| empty\-rule |
| empty rules without %empty |
| .TP |
| midrule\-values |
| unset or unused midrule values |
| .TP |
| precedence |
| useless precedence and associativity |
| .TP |
| yacc |
| incompatibilities with POSIX Yacc |
| .TP |
| other |
| all other warnings (enabled by default) |
| .TP |
| all |
| all the warnings except 'dangling\-alias' and 'yacc' |
| .TP |
| no\-CATEGORY |
| turn off warnings in CATEGORY |
| .TP |
| none |
| turn off all the warnings |
| .TP |
| error[=CATEGORY] |
| treat warnings as errors |
| .SS "WHEN can be one of the following:" |
| .TP |
| always, yes |
| colorize the output |
| .TP |
| never, no |
| don't colorize the output |
| .TP |
| auto, tty |
| colorize if the output device is a tty |
| .SS "Tuning the Parser:" |
| .TP |
| \fB\-L\fR, \fB\-\-language\fR=\fI\,LANGUAGE\/\fR |
| specify the output programming language |
| .TP |
| \fB\-S\fR, \fB\-\-skeleton\fR=\fI\,FILE\/\fR |
| specify the skeleton to use |
| .TP |
| \fB\-t\fR, \fB\-\-debug\fR |
| instrument the parser for tracing |
| same as '\-Dparse.trace' |
| .TP |
| \fB\-\-locations\fR |
| enable location support |
| .TP |
| \fB\-D\fR, \fB\-\-define=NAME\fR[=\fI\,VALUE\/\fR] |
| similar to '%define NAME VALUE' |
| .TP |
| \fB\-F\fR, \fB\-\-force\-define=NAME\fR[=\fI\,VALUE\/\fR] |
| override '%define NAME VALUE' |
| .TP |
| \fB\-p\fR, \fB\-\-name\-prefix\fR=\fI\,PREFIX\/\fR |
| prepend PREFIX to the external symbols |
| deprecated by '\-Dapi.prefix={PREFIX}' |
| .TP |
| \fB\-l\fR, \fB\-\-no\-lines\fR |
| don't generate '#line' directives |
| .TP |
| \fB\-k\fR, \fB\-\-token\-table\fR |
| include a table of token names |
| .TP |
| \fB\-y\fR, \fB\-\-yacc\fR |
| emulate POSIX Yacc |
| .SS "Output Files:" |
| .TP |
| \fB\-\-defines\fR[=\fI\,FILE\/\fR] |
| also produce a header file |
| .TP |
| \fB\-d\fR |
| likewise but cannot specify FILE (for POSIX Yacc) |
| .TP |
| \fB\-r\fR, \fB\-\-report\fR=\fI\,THINGS\/\fR |
| also produce details on the automaton |
| .TP |
| \fB\-\-report\-file\fR=\fI\,FILE\/\fR |
| write report to FILE |
| .TP |
| \fB\-v\fR, \fB\-\-verbose\fR |
| same as '\-\-report=state' |
| .TP |
| \fB\-b\fR, \fB\-\-file\-prefix\fR=\fI\,PREFIX\/\fR |
| specify a PREFIX for output files |
| .TP |
| \fB\-o\fR, \fB\-\-output\fR=\fI\,FILE\/\fR |
| leave output to FILE |
| .TP |
| \fB\-g\fR, \fB\-\-graph\fR[=\fI\,FILE\/\fR] |
| also output a graph of the automaton |
| .TP |
| \fB\-x\fR, \fB\-\-xml\fR[=\fI\,FILE\/\fR] |
| also output an XML report of the automaton |
| .SS "THINGS is a list of comma separated words that can include:" |
| .TP |
| states |
| describe the states |
| .TP |
| itemsets |
| complete the core item sets with their closure |
| .TP |
| lookaheads |
| explicitly associate lookahead tokens to items |
| .TP |
| solved |
| describe shift/reduce conflicts solving |
| .TP |
| all |
| include all the above information |
| .TP |
| none |
| disable the report |
| .SH AUTHOR |
| Written by Robert Corbett and Richard Stallman. |
| .SH "REPORTING BUGS" |
| Report bugs to <bug\-bison@gnu.org>. |
| .br |
| GNU Bison home page: <http://www.gnu.org/software/bison/>. |
| .br |
| General help using GNU software: <http://www.gnu.org/gethelp/>. |
| .br |
| For complete documentation, run: info bison. |
| .SH COPYRIGHT |
| Copyright \(co 2019 Free Software Foundation, Inc. |
| .br |
| This is free software; see the source for copying conditions. There is NO |
| warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| .SH "SEE ALSO" |
| .BR lex (1), |
| .BR flex (1), |
| .BR yacc (1). |
| .PP |
| The full documentation for |
| .B bison |
| is maintained as a Texinfo manual. If the |
| .B info |
| and |
| .B bison |
| programs are properly installed at your site, the command |
| .IP |
| .B info bison |
| .PP |
| should give you access to the complete manual. |