X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/234a3be30308bdf67bda1fe67fce08f3cc55e749..59c5ac724474686dbdfb71ce7ad851dcc54ee35c:/doc/bison.1 diff --git a/doc/bison.1 b/doc/bison.1 index ebcd396c..e46d1ea6 100644 --- a/doc/bison.1 +++ b/doc/bison.1 @@ -1,60 +1,10 @@ -.TH BISON 1 local +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. +.TH BISON "1" "February 2008" "bison 2.3a+" "User Commands" .SH NAME bison \- GNU Project parser generator (yacc replacement) .SH SYNOPSIS .B bison -[ -.BI \-b " file-prefix" -] [ -.BI \-\-file-prefix= file-prefix -] [ -.B \-d -] [ -.B \-\-defines -] [ -.B \-k -] [ -.B \-\-token-table -] [ -.B \-l -] [ -.B \-\-no-lines -] [ -.B \-n -] [ -.B \-\-no-parser -] [ -.BI \-o " outfile" -] [ -.BI \-\-output-file= outfile -] [ -.BI \-p " prefix" -] [ -.BI \-\-name-prefix= prefix -] [ -.B \-t -] [ -.B \-\-debug -] [ -.B \-v -] [ -.B \-\-verbose -] [ -.B \-V -] [ -.B \-\-version -] [ -.B \-y -] [ -.B \-\-yacc -] [ -.B \-h -] [ -.B \-\-help -] [ -.B \-\-fixed-output-files -] -file +[\fIOPTION\fR]... \fIFILE\fR .SH DESCRIPTION .I Bison is a parser generator in the style of @@ -71,10 +21,10 @@ 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 -.IR C++ +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 +(.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 @@ -82,10 +32,10 @@ would produce the generated parser in a file named .BR parse.tab.cxx , instead of .IR yacc 's -.BR y.tab.c -or old -.IR Bison -versions +.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 @@ -107,237 +57,137 @@ are unique. When a long option takes an argument, like .BR \-\-file-prefix , connect the option name and the argument with .BR = . -.SS OPTIONS +.PP +Generate LALR(1) and GLR parsers. +.PP +Mandatory arguments to long options are mandatory for short options too. +.SS "Operation modes:" .TP -.BI \-b " file-prefix" -.br -.ns +\fB\-h\fR, \fB\-\-help\fR +display this help and exit .TP -.BI \-\-file-prefix= file-prefix -Specify a prefix to use for all -.I bison -output file names. The names are -chosen as if the input file were named -\fIfile-prefix\fB.c\fR. +\fB\-V\fR, \fB\-\-version\fR +output version information and exit .TP -.B \-d -.br -.ns -.TP -.B \-\-defines -Write an extra output file containing macro definitions for the token -type names defined in the grammar and the semantic value type -.BR YYSTYPE , -as well as a few -.B extern -variable declarations. -.sp -If the parser output file is named -\fIname\fB.c\fR -then this file -is named -\fIname\fB.h\fR. -.sp -This output file is essential if you wish to put the definition of -.B yylex -in a separate source file, because -.B yylex -needs to be able to refer to token type codes and the variable -.BR yylval . -.TP -.B \-k -.br -.ns -.TP -.B \-\-token-table -This switch causes the \fIname\fB.tab.c\fR output to include a list of -token names in order by their token numbers; this is defined in the array -.IR yytname . -Also generated -are #defines for -.IR YYNTOKENS , -.IR YYNNTS , -.IR YYNRULES , -and -.IR YYNSTATES . +\fB\-\-print\-localedir\fR +output directory containing locale\-dependent data .TP -.B \-l -.br -.ns +\fB\-\-print\-datadir\fR +output directory containing skeletons and XSLT .TP -.B \-\-no-lines -Don't put any -.B #line -preprocessor commands in the parser file. -Ordinarily -.I bison -puts them in the parser file so that the C compiler -and debuggers will associate errors with your source file, the -grammar file. This option causes them to associate errors with the -parser file, treating it an independent source file in its own right. +\fB\-y\fR, \fB\-\-yacc\fR +emulate POSIX Yacc .TP -.B \-n -.br -.ns +\fB\-W\fR, \fB\-\-warnings\fR=\fI[CATEGORY]\fR +report the warnings falling in CATEGORY +.SS "Parser:" .TP -.B \-\-no-parser -Do not generate the parser code into the output; generate only -declarations. The generated \fIname\fB.tab.c\fR file will have only -constant declarations. In addition, a \fIname\fB.act\fR file is -generated containing a switch statement body containing all the -translated actions. +\fB\-L\fR, \fB\-\-language\fR=\fILANGUAGE\fR +specify the output programming language .TP -.BI \-o " outfile" -.br -.ns -.TP -.BI \-\-output-file= outfile -Specify the name -.I outfile -for the parser file. -.sp -The other output files' names are constructed from -.I outfile -as described under the -.B \-v -and -.B \-d -switches. +\fB\-S\fR, \fB\-\-skeleton\fR=\fIFILE\fR +specify the skeleton to use .TP -.BI \-p " prefix" -.br -.ns +\fB\-t\fR, \fB\-\-debug\fR +instrument the parser for debugging .TP -.BI \-\-name-prefix= prefix -Rename the external symbols used in the parser so that they start with -.I prefix -instead of -.BR yy . -The precise list of symbols renamed is -.BR yyparse , -.BR yylex , -.BR yyerror , -.BR yylval , -.BR yychar , -and -.BR yydebug . -.sp -For example, if you use -.BR "\-p c" , -the names become -.BR cparse , -.BR clex , -and so on. -.TP -.B \-t -.br -.ns +\fB\-\-locations\fR +enable locations computation .TP -.B \-\-debug -Output a definition of the macro -.B YYDEBUG -into the parser file, -so that the debugging facilities are compiled. +\fB\-p\fR, \fB\-\-name\-prefix\fR=\fIPREFIX\fR +prepend PREFIX to the external symbols .TP -.B \-v -.br -.ns -.TP -.B \-\-verbose -Write an extra output file containing verbose descriptions of the -parser states and what is done for each type of look-ahead token in -that state. -.sp -This file also describes all the conflicts, both those resolved by -operator precedence and the unresolved ones. -.sp -The file's name is made by removing -.B .tab.c -or -.B .c -from the parser output file name, and adding -.B .output -instead. -.sp -Therefore, if the input file is -.BR foo.y , -then the parser file is called -.B foo.tab.c -by default. As a consequence, the verbose -output file is called -.BR foo.output . -.TP -.B \-V -.br -.ns +\fB\-l\fR, \fB\-\-no\-lines\fR +don't generate `#line' directives .TP -.B \-\-version -Print the version number of -.I bison -and exit. +\fB\-k\fR, \fB\-\-token\-table\fR +include a table of token names +.SS "Output:" .TP -.B \-h -.br -.ns +\fB\-d\fR, \fB\-\-defines\fR[=\fIFILE\fR] +also produce a header file .TP -.B \-\-help -Print a summary of the options to -.I bison -and exit. +\fB\-r\fR, \fB\-\-report\fR=\fITHINGS\fR +also produce details on the automaton .TP -.B \-y -.br -.ns +\fB\-\-report\-file\fR=\fIFILE\fR +write report to FILE +.TP +\fB\-v\fR, \fB\-\-verbose\fR +same as `\-\-report=state' +.TP +\fB\-b\fR, \fB\-\-file\-prefix\fR=\fIPREFIX\fR +specify a PREFIX for output files .TP -.B \-\-yacc +\fB\-o\fR, \fB\-\-output\fR=\fIFILE\fR +leave output to FILE +.TP +\fB\-g\fR, \fB\-\-graph\fR[=\fIFILE\fR] +also output a graph of the automaton +.TP +\fB\-x\fR, \fB\-\-xml\fR[=\fIFILE\fR] +also output an XML report of the automaton +(the XML schema is experimental) +.SS "Warning categories include:" +.TP +`midrule\-values' +unset or unused midrule values +.TP +`yacc' +incompatibilities with POSIX YACC +.TP +`all' +all the warnings +.TP +`no\-CATEGORY' +turn off warnings in CATEGORY +.TP +`none' +turn off all the warnings +.TP +`error' +treat warnings as errors +.SS "THINGS is a list of comma separated words that can include:" +.TP +`state' +describe the states +.TP +`itemset' +complete the core item sets with their closure +.TP +`lookahead' +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 . +.SH COPYRIGHT +Copyright \(co 2007 Free Software Foundation, Inc. .br -.ns -.TP -.B \-\-fixed-output-files -Equivalent to -.BR "\-o y.tab.c" ; -the parser output file is called -.BR y.tab.c , -and the other outputs are called -.B y.output +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 -.BR y.tab.h . -The purpose of this switch is to imitate -.IR yacc 's -output file name conventions. -Thus, the following shell script can substitute for -.IR yacc : -.sp -.RS -.ft B -bison \-y $* -.ft R -.sp -.RE -.SH FILES -/usr/local/lib/bison.simple simple parser -.br -/usr/local/lib/bison.hairy complicated parser -.SH "ENVIRONMENT VARIABLES" -.TP -.SM BISON_SIMPLE -If this is set, it specifies the location in which the -.B bison.simple -parser can be found. -.TP -.SM BISON_HAIRY -If this is set, it specifies the location in which the -.B bison.hairy -parser can be found. -.SH SEE ALSO -.IR yacc (1) -.br -The -.IR "Bison Reference Manual" , -included as the file -.B bison.texinfo -in the -.I bison -source distribution. -.SH DIAGNOSTICS -Self explanatory. +.B bison +programs are properly installed at your site, the command +.IP +.B info bison +.PP +should give you access to the complete manual.