Home | History | Annotate | Download | only in doc

Lines Matching full:parsers

68 * Debugging::         Understanding or debugging Bison parsers.
88 * GLR Parsers:: Writing parsers for general context-free languages.
95 Writing GLR Parsers
97 * Simple GLR Parsers:: Using GLR parsers on unambiguous grammars.
98 * Merging GLR Parses:: Using GLR parsers to resolve ambiguities.
100 * Compiler Requirements:: GLR parsers require a modern C compiler.
151 * Multiple Parsers:: Putting more than one Bison parser in one program.
251 * C++ Parsers:: The interface to generate C++ parser classes
254 C++ Parsers
281 * Other Languages:: Parsers in Java and others
298 a wide range of language parsers, from those used in simple desk
325 The distribution terms for Bison-generated parsers permit using the
326 parsers in nonfree programs. Before Bison version 2.2, these extra
327 permissions applied only when Bison was generating LALR(1) parsers in
328 C. And before Bison version 1.24, Bison-generated parsers could be
735 * GLR Parsers:: Writing parsers for general context-free languages.
775 Parsers for LALR(1) grammars are "deterministic", meaning roughly
785 Generalized LR). Bison's GLR parsers are able to handle any
943 File: bison.info, Node: Semantic Actions, Next: GLR Parsers, Prev: Semantic Values, Up: Concepts
972 File: bison.info, Node: GLR Parsers, Next: Locations Overview, Prev: Semantic Actions, Up: Concepts
974 1.5 Writing GLR Parsers
989 Outline::), the result is a Generalized LR (GLR) parser. These parsers
991 applying precedence declarations) identically to LALR(1) parsers.
993 conflicts, GLR parsers use the simple expedient of doing both,
995 the resulting parsers can again split, so that at any given time, there
996 can be any number of possible parses being explored. The parsers
999 parsers eventually meets one of two possible fates: either it runs into
1004 During the time that there are multiple parsers, semantic actions are
1007 reduction makes two parsers identical, causing them to merge, Bison
1008 parsers
1017 * Simple GLR Parsers:: Using GLR parsers on unambiguous grammars.
1018 * Merging GLR Parses:: Using GLR parsers to resolve ambiguities.
1020 * Compiler Requirements:: GLR parsers require a modern C compiler.
1023 File: bison.info, Node: Simple GLR Parsers, Next: Merging GLR Parses, Up: GLR Parsers
1178 File: bison.info, Node: Merging GLR Parses, Next: GLR Semantic Actions, Prev: Simple GLR Parsers, Up: GLR Parsers
1238 (*note Simple GLR Parsers::), however, neither of these parses "dies,"
1239 because the grammar as it stands is ambiguous. One of the parsers
1241 decl', after which both parsers are in an identical state: they've seen
1259 as shown in the previous section (*note Simple GLR Parsers::). Here,
1266 `declarator'. The second of these parsers then vanishes when it sees
1273 actions of the two possible parsers, rather than choosing one over the
1308 File: bison.info, Node: GLR Semantic Actions, Next: Compiler Requirements, Prev: Merging GLR Parses, Up: GLR Parsers
1343 parsers.
1346 File: bison.info, Node: Compiler Requirements, Prev: GLR Semantic Actions, Up: GLR Parsers
1348 1.5.4 Considerations when Compiling GLR Parsers
1351 The GLR parsers require a compiler for ISO C89 or later. In addition,
1354 parsers to handle portability issues. For instance, if using Autoconf
1370 File: bison.info, Node: Locations Overview, Next: Bison Parser, Prev: GLR Parsers, Up: Concepts
2661 * Multiple Parsers:: Putting more than one Bison parser in one program.
3553 File: bison.info, Node: Declarations, Next: Multiple Parsers, Prev: Locations, Up: Grammar File
3798 lost. While this behavior can be tolerable for batch parsers, such as
3867 For normal LALR(1) parsers, reduce/reduce conflicts are more
3869 reduce/reduce conflicts for these parsers. With GLR parsers, however,
3872 expected number of reduce/reduce conflicts in GLR parsers, using the
3888 which Bison printed. With GLR parsers, add an `%expect-rr'
3935 Conventions for Pure Parsers: Pure Calling, for the details of this.
4041 in C parsers is `yyparse', `yylex', `yyerror', `yynerrs',
4044 become `c_parse', `c_lex', and so on. In C++ parsers, it is only
4046 *Note Multiple Parsers in the Same Program: Multiple Parsers.
4120 File: bison.info, Node: Multiple Parsers, Prev: Declarations, Up: Grammar File
4122 3.8 Multiple Parsers in the Same Program
4144 name is used in different parsers. For example, `YYSTYPE' is not
4145 renamed, but defining this in different ways in different parsers causes
4402 4.2.4 Calling Conventions for Pure Parsers
4408 In such parsers the two global variables are replaced by pointers
4500 Obviously, in location tracking pure parsers, `yyerror' should have
4502 parsers, but not for the Yacc parser, for historical reasons. I.e., if
4506 void yyerror (char const *msg); /* Yacc parsers. */
4507 void yyerror (YYLTYPE *locp, char const *msg); /* GLR parsers. */
4511 void yyerror (int *nastiness, char const *msg); /* Yacc parsers. */
4512 void yyerror (int *nastiness, char const *msg); /* GLR parsers. */
4514 Finally, GLR and Yacc parsers share the same `yyerror' calling
4515 convention for absolutely pure parsers, i.e., when the calling
4589 also disallowed in GLR parsers. It installs a look-ahead token
5265 produce parsers that are very large. In practice, Bison is more useful
5307 For a more detailed exposition of LALR(1) parsers and parser
5319 Bison produces _deterministic_ parsers that choose uniquely when to
5324 sequence of reductions cannot have deterministic parsers in this sense.
5339 it effectively _splits_ into a several parsers, one for each possible
5340 shift or reduction. These parsers then proceed as usual, consuming
5385 For a more detailed exposition of GLR parsers, please see: Elizabeth
5387 Generalised LR Parsers, Royal Holloway, University of London,
5402 Because Bison parsers have growing stacks, hitting the upper limit
5433 parsers in C produced by Bison cannot grow when compiled by C++
5560 techniques (known as "kludges") may enable you to write Bison parsers
5778 Bison parsers are "shift/reduce automata". In some cases (much more
6135 when Bison will output parsers for languages that don't use a
6449 * C++ Parsers:: The interface to generate C++ parser classes
6453 File: bison.info, Node: C++ Parsers, Next: A Complete C++ Example, Up: C++ Language Interface
6455 10.1 C++ Parsers
6467 File: bison.info, Node: C++ Bison Interface, Next: C++ Semantic Values, Up: C++ Parsers
6493 with regular C parsers (*note Invocation::).
6502 File: bison.info, Node: C++ Semantic Values, Next: C++ Location Values, Prev: C++ Bison Interface, Up: C++ Parsers
6529 File: bison.info, Node: C++ Location Values, Next: C++ Parser Interface, Prev: C++ Semantic Values, Up: C++ Parsers
6591 File: bison.info, Node: C++ Parser Interface, Next: C++ Scanner Interface, Prev: C++ Location Values, Up: C++ Parsers
6632 File: bison.info, Node: C++ Scanner Interface, Prev: C++ Parser Interface, Up: C++ Parsers
6638 parsers, C++ parsers are always pure: there is no point in using the
6648 File: bison.info, Node: A Complete C++ Example, Prev: C++ Parsers, Up: C++ Language Interface
7075 * Other Languages:: Parsers in Java and others
7486 Parsers: GLR Parsers.
7512 Parsers: GLR Parsers.
7525 Parsers: Pure Calling.
7531 values to get a single result. *Note Writing GLR Parsers: GLR
7532 Parsers.
7664 macro is deprecated, and is supported only for Yacc like parsers.
7665 *Note Calling Conventions for Pure Parsers: Pure Calling.
7706 is supported only for Yacc like parsers. *Note Calling
7707 Conventions for Pure Parsers: Pure Calling.
7774 off multiple parsers, trying all possible parsers, and discarding
8389 * %expect-rr: Simple GLR Parsers. (line 6)
8393 * %glr-parser <2>: Simple GLR Parsers. (line 6)
8394 * %glr-parser: GLR Parsers. (line 6)
8512 * conflicts <3>: Simple GLR Parsers. (line 6)
8513 * conflicts: GLR Parsers. (line 6)
8578 * generalized LR (GLR) parsing <2>: GLR Parsers. (line 6)
8583 * generalized LR (GLR) parsing, unambiguous grammars: Simple GLR Parsers.
8588 * GLR parsers and inline: Compiler Requirements.
8590 * GLR parsers and yychar: GLR Semantic Actions.
8592 * GLR parsers and yyclearin: GLR Semantic Actions.
8594 * GLR parsers and YYERROR: GLR Semantic Actions.
8596 * GLR parsers and yylloc: GLR Semantic Actions.
8598 * GLR parsers and YYLLOC_DEFAULT: Location Default Action.
8600 * GLR parsers and yylval: GLR Semantic Actions.
8604 * GLR parsing <2>: GLR Parsers. (line 6)
8608 * GLR parsing, unambiguous grammars: Simple GLR Parsers. (line 6)
8714 * reduce/reduce conflicts <2>: Simple GLR Parsers. (line 6)
8715 * reduce/reduce conflicts: GLR Parsers. (line 6)
8737 * shift/reduce conflicts <2>: Simple GLR Parsers. (line 6)
8738 * shift/reduce conflicts: GLR Parsers. (line 6)
8876 Node: GLR Parsers46988
8877 Node: Simple GLR Parsers49739
8939 Node: Multiple Parsers168975
8977 Node: C++ Parsers259532