📄 bison++.1
字号:
int %NERRS;.IPint %CHAR;.\"bloc1].PP#endif.PP#if %DEBUG != 0.PPint %DEBUG_FLAG; /* nonzero means print parse trace */.PP#endif.PPpublic:.PP%CLASS(%CONSTRUCTOR_PARAM);.PPpublic:.PP%MEMBERS.PP};.PP// here are defined the token constants.PP// for example:.PP#if %USE_CONST_TOKEN != 0.\"bloc1[.IPconst %CLASS::TOKEN_FIRST=1;.IP\.\.\..\"bloc1].PP#endif.PP// here is the construcor.PP%CLASS::%CLASS(%CONSTRUCTOR_PARAM) %CONSTRUCTOR_INIT.PP{.PP#if %DEBUG != 0.PP%DEBUG_FLAG=0;.PP#endif.PP%CONSTRUCTOR_CODE;.PP};.SS "Default Class declaration" // Here is the default declaration made in the header when you %define nothing.PP// typical yyltype.PPtypedef struct yyltype.PP{.PPint timestamp;.PPint first_line;.PPint first_column;.PPint last_line;.PPint last_column;.PPchar *text;.PP} yyltype;.PP// class definition.PPclass parser.PP{.PPpublic:.PPenum yy_parser_enum_token { YY_parser_NULL_TOKEN.\"bloc1[.IP,TOKEN_FIRST=256.IP,TOKEN_NEXT=257.IP,AND_SO_ON=258.\"bloc1].PP} ;.PP// \.\.\..PPpublic:.PPint yyparse (yyparse_PARAM);.PPvirtual void yyerror(char *msg) ;.PP#ifdef YY_parser_PURE.\"bloc1[.IP#ifdef YY_parser_LSP_NEEDED.IPvirtual int yylex (int *yylval,yyltype *yylloc) ;.IP#else.IPvirtual int yylex (int *yylval) ;.IP#endif.\"bloc1].PP#else.\"bloc1[.IPvirtual int yylex() %LEX_BODY;.IPint yylval;.IP#ifdef YY_parser_LSP_NEEDED.IPyyltype yylloc;.IP#endif.IPint yynerrs;.IPint yychar;.\"bloc1].PP#endif.PP#if YY_parser_DEBUG != 0.PPint yydebug;.PP#endif.PPpublic:.PPparser();.PPpublic:.PP};.PP// here is the constructor code.PPparser::parser().PP{.PP#if YY_parser_DEBUG != 0.PPyydebug=0;.PP#endif.PP};.SH "USAGE" Should replace \fBbison\fP, because it generate a far more customisable parser, still beeing compatible\..PPYou should always use the header facility\..PPUse it with \fBflex++\fP (same author)\..SH "EXEMPLES" This man page has been produced through a parser made in C++ with this version of \fBbison\fP and our version of \fBflex++\fP (same author)\..SH "FILES" .\"bloc1[.IP "\\fBbison\\.cc\\fP"main skeleton\..IP "\\fBbison\\.h\\fP"header skeleton\..IP "\\fBbison\\.hairy\\fP"old main skeleton for semantic parser\. Not adapted to this version\. Kept for future works\..\"bloc1].SH "ENVIRONNEMENT" .SH "DIAGNOSTICS" .SH "SEE ALSO" \fBbison\fP(1), \fBbison\.info\fP (use texinfo), \fBflex++\fP(1)\..SH "DOCUMENTATION" .SH "BUGS" Tell us more !.PPThe \fB%semantic_parser\fP is no more supported\. If you want to use it, adapt the skeletons, and maybe \fBbison++\fP generator itself\. The reason is that it seems unused, unuseful, not documented, and too complex for us to support\. tell us if you use, need, or understand it\..PPHeader is not included in the parser code\. Change made in the generated header are not used in the parser code, even if you include it volontarily, since it is guarded against re\-include\. So don't modify it\..PPFor the same reasons, if you modify the header skeleton, or the code skeleton, report the changes in the other skeleton if applicable\. If not done, incoherent declarations may lead to unpredictable result\..PPUse of defines for \fBYYLTYPE\fP, \fBYYSTYPE\fP, \fBYYDEBUG\fP is supported for backward compatibility in C, but should not be used with new features, as \fB%defines\fP or C++ classes\. You can define them, and use them as with old \fBbison\fP in C only\..PPParameters are richer than before, and nothing is removed\. POSIX compliance can be enforced by not using extensions\. If you want to forbide them, there is a good job !.SH "FUTUR WORKS" tell us !.PPSupport semantic parser\. Is it really used ?.PPPOSIX compliance\. is'nt it good now ?.PPUse lex and yacc (flex/bison) to generate the scanner/parser\. It would be comfortable for futur works, though very complicated\. Who feel it good ?.PP\fBiostream\fP : this is a great demand\. this work will be done as soon as possible\. The virtual members permit such work still easily\..SH "INSTALLATION" With this install the executable is named bison++\. rename it bison if you want, because it could replace \fBbison\fP\..SH "TESTS" .SH "AUTHORS" Alain Coe\*:tmeur (coetmeur@icdc\.fr), R&D department (RDT) , Informatique\-CDC, France\..SH "RESTRICTIONS" The words 'author', and 'us' mean the author and colleages, not GNU\. We don't have contacted GNU about this, nowaday\. If you're in GNU, we are ready to propose it to you, and you may tell us what you think about\..PPBased on GNU version 1\.21 of bison\. Modified by the author\.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -