|
|
1.1 ! root 1: .TH BISON 1 local ! 2: .SH NAME ! 3: bison \- GNU Project parser generator (yacc replacement) ! 4: .SH SYNOPSIS ! 5: .B bison ! 6: [ ! 7: .BI \-b " file-prefix" ! 8: ] [ ! 9: .BI \-\-file-prefix= file-prefix ! 10: ] [ ! 11: .B \-d ! 12: ] [ ! 13: .B \-\-defines ! 14: ] [ ! 15: .B \-l ! 16: ] [ ! 17: .B \-\-no-lines ! 18: ] [ ! 19: .BI \-o " outfile" ! 20: ] [ ! 21: .BI \-\-output-file= outfile ! 22: ] [ ! 23: .BI \-p " prefix" ! 24: ] [ ! 25: .BI \-\-name-prefix= prefix ! 26: ] [ ! 27: .B \-t ! 28: ] [ ! 29: .B \-\-debug ! 30: ] [ ! 31: .B \-v ! 32: ] [ ! 33: .B \-\-verbose ! 34: ] [ ! 35: .B \-V ! 36: ] [ ! 37: .B \-\-version ! 38: ] [ ! 39: .B \-y ! 40: ] [ ! 41: .B \-\-yacc ! 42: ] [ ! 43: .B \-h ! 44: ] [ ! 45: .B \-\-help ! 46: ] [ ! 47: .B \-\-fixed-output-files ! 48: ] ! 49: file ! 50: .SH DESCRIPTION ! 51: .I Bison ! 52: is a parser generator in the style of ! 53: .IR yacc (1). ! 54: It should be upwardly compatible with input files designed ! 55: for ! 56: .IR yacc . ! 57: .PP ! 58: Input files should follow the ! 59: .I yacc ! 60: convention of ending in ! 61: .BR .y . ! 62: Unlike ! 63: .IR yacc , ! 64: the generated files do not have fixed names, but instead use the prefix ! 65: of the input file. ! 66: For instance, a grammar description file named ! 67: .B parse.y ! 68: would produce the generated parser in a file named ! 69: .BR parse.tab.c , ! 70: instead of ! 71: .IR yacc 's ! 72: .BR y.tab.c . ! 73: .PP ! 74: This description of the options that can be given to ! 75: .I bison ! 76: is adapted from the node ! 77: .B Invocation ! 78: in the ! 79: .B bison.texinfo ! 80: manual, which should be taken as authoritative. ! 81: .PP ! 82: .I Bison ! 83: supports both traditional single-letter options and mnemonic long ! 84: option names. Long option names are indicated with ! 85: .B \-\- ! 86: instead of ! 87: .BR \- . ! 88: Abbreviations for option names are allowed as long as they ! 89: are unique. When a long option takes an argument, like ! 90: .BR \-\-file-prefix , ! 91: connect the option name and the argument with ! 92: .BR = . ! 93: .SS OPTIONS ! 94: .TP ! 95: .BI \-b " file-prefix" ! 96: .br ! 97: .ns ! 98: .TP ! 99: .BI \-\-file-prefix= file-prefix ! 100: Specify a prefix to use for all ! 101: .I bison ! 102: output file names. The names are ! 103: chosen as if the input file were named ! 104: \fIfile-prefix\fB.c\fR. ! 105: .TP ! 106: .B \-d ! 107: .br ! 108: .ns ! 109: .TP ! 110: .B \-\-defines ! 111: Write an extra output file containing macro definitions for the token ! 112: type names defined in the grammar and the semantic value type ! 113: .BR YYSTYPE , ! 114: as well as a few ! 115: .B extern ! 116: variable declarations. ! 117: .sp ! 118: If the parser output file is named ! 119: \fIname\fB.c\fR ! 120: then this file ! 121: is named ! 122: \fIname\fB.h\fR. ! 123: .sp ! 124: This output file is essential if you wish to put the definition of ! 125: .B yylex ! 126: in a separate source file, because ! 127: .B yylex ! 128: needs to be able to refer to token type codes and the variable ! 129: .BR yylval . ! 130: .TP ! 131: .B \-l ! 132: .br ! 133: .ns ! 134: .TP ! 135: .B \-\-no-lines ! 136: Don't put any ! 137: .B #line ! 138: preprocessor commands in the parser file. ! 139: Ordinarily ! 140: .I bison ! 141: puts them in the parser file so that the C compiler ! 142: and debuggers will associate errors with your source file, the ! 143: grammar file. This option causes them to associate errors with the ! 144: parser file, treating it an independent source file in its own right. ! 145: .TP ! 146: .BI \-o " outfile" ! 147: .br ! 148: .ns ! 149: .TP ! 150: .BI \-\-output-file= outfile ! 151: Specify the name ! 152: .I outfile ! 153: for the parser file. ! 154: .sp ! 155: The other output files' names are constructed from ! 156: .I outfile ! 157: as described under the ! 158: .B \-v ! 159: and ! 160: .B \-d ! 161: switches. ! 162: .TP ! 163: .BI \-p " prefix" ! 164: .br ! 165: .ns ! 166: .TP ! 167: .BI \-\-name-prefix= prefix ! 168: Rename the external symbols used in the parser so that they start with ! 169: .I prefix ! 170: instead of ! 171: .BR yy . ! 172: The precise list of symbols renamed is ! 173: .BR yyparse , ! 174: .BR yylex , ! 175: .BR yyerror , ! 176: .BR yylval , ! 177: .BR yychar , ! 178: and ! 179: .BR yydebug . ! 180: .sp ! 181: For example, if you use ! 182: .BR "\-p c" , ! 183: the names become ! 184: .BR cparse , ! 185: .BR clex , ! 186: and so on. ! 187: .TP ! 188: .B \-t ! 189: .br ! 190: .ns ! 191: .TP ! 192: .B \-\-debug ! 193: Output a definition of the macro ! 194: .B YYDEBUG ! 195: into the parser file, ! 196: so that the debugging facilities are compiled. ! 197: .TP ! 198: .B \-v ! 199: .br ! 200: .ns ! 201: .TP ! 202: .B \-\-verbose ! 203: Write an extra output file containing verbose descriptions of the ! 204: parser states and what is done for each type of look-ahead token in ! 205: that state. ! 206: .sp ! 207: This file also describes all the conflicts, both those resolved by ! 208: operator precedence and the unresolved ones. ! 209: .sp ! 210: The file's name is made by removing ! 211: .B .tab.c ! 212: or ! 213: .B .c ! 214: from the parser output file name, and adding ! 215: .B .output ! 216: instead. ! 217: .sp ! 218: Therefore, if the input file is ! 219: .BR foo.y , ! 220: then the parser file is called ! 221: .B foo.tab.c ! 222: by default. As a consequence, the verbose ! 223: output file is called ! 224: .BR foo.output . ! 225: .TP ! 226: .B \-V ! 227: .br ! 228: .ns ! 229: .TP ! 230: .B \-\-version ! 231: Print the version number of ! 232: .I bison ! 233: and exit. ! 234: .TP ! 235: .B \-h ! 236: .br ! 237: .ns ! 238: .B \-\-help ! 239: Print a summary of the options to ! 240: .I bison ! 241: and exit. ! 242: .TP ! 243: .B \-y ! 244: .br ! 245: .ns ! 246: .TP ! 247: .B \-\-yacc ! 248: .br ! 249: .ns ! 250: .TP ! 251: .B \-\-fixed-output-files ! 252: Equivalent to ! 253: .BR "\-o y.tab.c" ; ! 254: the parser output file is called ! 255: .BR y.tab.c , ! 256: and the other outputs are called ! 257: .B y.output ! 258: and ! 259: .BR y.tab.h . ! 260: The purpose of this switch is to imitate ! 261: .IR yacc 's ! 262: output file name conventions. ! 263: Thus, the following shell script can substitute for ! 264: .IR yacc : ! 265: .sp ! 266: .RS ! 267: .ft B ! 268: bison \-y $* ! 269: .ft R ! 270: .sp ! 271: .RE ! 272: .PP ! 273: The long-named options can be introduced with `+' as well as `\-\-', ! 274: for compatibility with previous releases. Eventually support for `+' ! 275: will be removed, because it is incompatible with the POSIX.2 standard. ! 276: .SH FILES ! 277: /usr/local/lib/bison.simple simple parser ! 278: .br ! 279: /usr/local/lib/bison.hairy complicated parser ! 280: .SH SEE ALSO ! 281: .IR yacc (1) ! 282: .br ! 283: The ! 284: .IR "Bison Reference Manual" , ! 285: included as the file ! 286: .B bison.texinfo ! 287: in the ! 288: .I bison ! 289: source distribution. ! 290: .SH DIAGNOSTICS ! 291: Self explanatory. ! 292:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.