105436638acc7c010349a69c3395f1a57c642dc62Ying Wang[name]
205436638acc7c010349a69c3395f1a57c642dc62Ying Wangbison \- GNU Project parser generator (yacc replacement)
305436638acc7c010349a69c3395f1a57c642dc62Ying Wang
405436638acc7c010349a69c3395f1a57c642dc62Ying Wang[description]
505436638acc7c010349a69c3395f1a57c642dc62Ying Wang.I Bison
605436638acc7c010349a69c3395f1a57c642dc62Ying Wangis a parser generator in the style of
705436638acc7c010349a69c3395f1a57c642dc62Ying Wang.IR yacc (1).
805436638acc7c010349a69c3395f1a57c642dc62Ying WangIt should be upwardly compatible with input files designed
905436638acc7c010349a69c3395f1a57c642dc62Ying Wangfor
1005436638acc7c010349a69c3395f1a57c642dc62Ying Wang.IR yacc .
1105436638acc7c010349a69c3395f1a57c642dc62Ying Wang.PP
1205436638acc7c010349a69c3395f1a57c642dc62Ying WangInput files should follow the
1305436638acc7c010349a69c3395f1a57c642dc62Ying Wang.I yacc
1405436638acc7c010349a69c3395f1a57c642dc62Ying Wangconvention of ending in
1505436638acc7c010349a69c3395f1a57c642dc62Ying Wang.BR .y .
1605436638acc7c010349a69c3395f1a57c642dc62Ying WangUnlike
1705436638acc7c010349a69c3395f1a57c642dc62Ying Wang.IR yacc ,
1805436638acc7c010349a69c3395f1a57c642dc62Ying Wangthe generated files do not have fixed names, but instead use the prefix
1905436638acc7c010349a69c3395f1a57c642dc62Ying Wangof the input file.
2005436638acc7c010349a69c3395f1a57c642dc62Ying WangMoreover, if you need to put
2105436638acc7c010349a69c3395f1a57c642dc62Ying Wang.I C++
2205436638acc7c010349a69c3395f1a57c642dc62Ying Wangcode in the input file, you can end his name by a C++-like extension
2305436638acc7c010349a69c3395f1a57c642dc62Ying Wang(.ypp or .y++), then bison will follow your extension to name the
2405436638acc7c010349a69c3395f1a57c642dc62Ying Wangoutput file (.cpp or .c++).
2505436638acc7c010349a69c3395f1a57c642dc62Ying WangFor instance, a grammar description file named
2605436638acc7c010349a69c3395f1a57c642dc62Ying Wang.B parse.yxx
2705436638acc7c010349a69c3395f1a57c642dc62Ying Wangwould produce the generated parser in a file named
2805436638acc7c010349a69c3395f1a57c642dc62Ying Wang.BR parse.tab.cxx ,
2905436638acc7c010349a69c3395f1a57c642dc62Ying Wanginstead of
3005436638acc7c010349a69c3395f1a57c642dc62Ying Wang.IR yacc 's
3105436638acc7c010349a69c3395f1a57c642dc62Ying Wang.B y.tab.c
3205436638acc7c010349a69c3395f1a57c642dc62Ying Wangor old
3305436638acc7c010349a69c3395f1a57c642dc62Ying Wang.I Bison
3405436638acc7c010349a69c3395f1a57c642dc62Ying Wangversion's
3505436638acc7c010349a69c3395f1a57c642dc62Ying Wang.BR parse.tab.c .
3605436638acc7c010349a69c3395f1a57c642dc62Ying Wang.PP
3705436638acc7c010349a69c3395f1a57c642dc62Ying WangThis description of the options that can be given to
3805436638acc7c010349a69c3395f1a57c642dc62Ying Wang.I bison
3905436638acc7c010349a69c3395f1a57c642dc62Ying Wangis adapted from the node
4005436638acc7c010349a69c3395f1a57c642dc62Ying Wang.B Invocation
4105436638acc7c010349a69c3395f1a57c642dc62Ying Wangin the
4205436638acc7c010349a69c3395f1a57c642dc62Ying Wang.B bison.texinfo
4305436638acc7c010349a69c3395f1a57c642dc62Ying Wangmanual, which should be taken as authoritative.
4405436638acc7c010349a69c3395f1a57c642dc62Ying Wang.PP
4505436638acc7c010349a69c3395f1a57c642dc62Ying Wang.I Bison
4605436638acc7c010349a69c3395f1a57c642dc62Ying Wangsupports both traditional single-letter options and mnemonic long
4705436638acc7c010349a69c3395f1a57c642dc62Ying Wangoption names.  Long option names are indicated with
4805436638acc7c010349a69c3395f1a57c642dc62Ying Wang.B \-\-
4905436638acc7c010349a69c3395f1a57c642dc62Ying Wanginstead of
5005436638acc7c010349a69c3395f1a57c642dc62Ying Wang.BR \- .
5105436638acc7c010349a69c3395f1a57c642dc62Ying WangAbbreviations for option names are allowed as long as they
5205436638acc7c010349a69c3395f1a57c642dc62Ying Wangare unique.  When a long option takes an argument, like
5305436638acc7c010349a69c3395f1a57c642dc62Ying Wang.BR \-\-file-prefix ,
5405436638acc7c010349a69c3395f1a57c642dc62Ying Wangconnect the option name and the argument with
5505436638acc7c010349a69c3395f1a57c642dc62Ying Wang.BR = .
56