114 |
* Invocation:: How to run Bison (to produce the parser source file). |
* Invocation:: How to run Bison (to produce the parser source file). |
115 |
* Table of Symbols:: All the keywords of the Bison language are explained. |
* Table of Symbols:: All the keywords of the Bison language are explained. |
116 |
* Glossary:: Basic concepts are explained. |
* Glossary:: Basic concepts are explained. |
117 |
|
* FAQ:: Frequently Asked Questions |
118 |
* Copying This Manual:: License for copying this manual. |
* Copying This Manual:: License for copying this manual. |
119 |
* Index:: Cross-references to the text. |
* Index:: Cross-references to the text. |
120 |
|
|
269 |
* Option Cross Key:: Alphabetical list of long options. |
* Option Cross Key:: Alphabetical list of long options. |
270 |
* VMS Invocation:: Bison command syntax on VMS. |
* VMS Invocation:: Bison command syntax on VMS. |
271 |
|
|
272 |
|
Frequently Asked Questions |
273 |
|
|
274 |
|
* Parser Stack Overflow:: Breaking the Stack Limits |
275 |
|
|
276 |
Copying This Manual |
Copying This Manual |
277 |
|
|
278 |
* GNU Free Documentation License:: License for copying this manual. |
* GNU Free Documentation License:: License for copying this manual. |
4893 |
returns a nonzero value, pausing only to call @code{yyerror} to report |
returns a nonzero value, pausing only to call @code{yyerror} to report |
4894 |
the overflow. |
the overflow. |
4895 |
|
|
4896 |
|
Becaue Bison parsers have growing stacks, hitting the upper limit |
4897 |
|
usually results from using a right recursion instead of a left |
4898 |
|
recursion, @xref{Recursion, ,Recursive Rules}. |
4899 |
|
|
4900 |
@vindex YYMAXDEPTH |
@vindex YYMAXDEPTH |
4901 |
By defining the macro @code{YYMAXDEPTH}, you can control how deep the |
By defining the macro @code{YYMAXDEPTH}, you can control how deep the |
4902 |
parser stack can become before a stack overflow occurs. Define the |
parser stack can become before a stack overflow occurs. Define the |
4920 |
macro @code{YYINITDEPTH}. This value too must be a compile-time |
macro @code{YYINITDEPTH}. This value too must be a compile-time |
4921 |
constant integer. The default is 200. |
constant integer. The default is 200. |
4922 |
|
|
4923 |
|
@c FIXME: C++ output. |
4924 |
|
Because of semantical differences between C and C++, the LALR(1) parsers |
4925 |
|
in C produced by Bison by compiled as C++ cannot grow. In this precise |
4926 |
|
case (compiling a C parser as C++) you are suggested to grow |
4927 |
|
@code{YYINITDEPTH}. In the near future, a C++ output output will be |
4928 |
|
provided which addresses this issue. |
4929 |
|
|
4930 |
@node Error Recovery |
@node Error Recovery |
4931 |
@chapter Error Recovery |
@chapter Error Recovery |
4932 |
@cindex error recovery |
@cindex error recovery |
5804 |
@noindent |
@noindent |
5805 |
will produce @file{output.c++} and @file{outfile.h++}. |
will produce @file{output.c++} and @file{outfile.h++}. |
5806 |
|
|
|
|
|
5807 |
@menu |
@menu |
5808 |
* Bison Options:: All the options described in detail, |
* Bison Options:: All the options described in detail, |
5809 |
in alphabetical order by short options. |
in alphabetical order by short options. |
6027 |
@file{foo.tab.c}. In the above example, the output file |
@file{foo.tab.c}. In the above example, the output file |
6028 |
would instead be named @file{foo_tab.c}. |
would instead be named @file{foo_tab.c}. |
6029 |
|
|
6030 |
|
@c ================================================= Invoking Bison |
6031 |
|
|
6032 |
|
@node FAQ |
6033 |
|
@chapter Frequently Asked Questions |
6034 |
|
@cindex frequently asked questions |
6035 |
|
@cindex questions |
6036 |
|
|
6037 |
|
Several questions about Bison come up occasionally. Here some of them |
6038 |
|
are addressed. |
6039 |
|
|
6040 |
|
@menu |
6041 |
|
* Parser Stack Overflow:: Breaking the Stack Limits |
6042 |
|
@end menu |
6043 |
|
|
6044 |
|
@node Parser Stack Overflow |
6045 |
|
@section Parser Stack Overflow |
6046 |
|
|
6047 |
|
@display |
6048 |
|
My parser returns with error with a @samp{parser stack overflow} |
6049 |
|
message. What can I do? |
6050 |
|
@end display |
6051 |
|
|
6052 |
|
This question is already addressed elsewhere, @xref{Recursion, |
6053 |
|
,Recursive Rules}. |
6054 |
|
|
6055 |
|
@c ================================================= Table of Symbols |
6056 |
|
|
6057 |
@node Table of Symbols |
@node Table of Symbols |
6058 |
@appendix Bison Symbols |
@appendix Bison Symbols |
6059 |
@cindex Bison symbols, table of |
@cindex Bison symbols, table of |