Lines Matching full:pure
198 * Pure Decl:: Requesting a reentrant parser.
226 * Pure Calling:: How the calling convention differs in a pure parser
227 (*note A Pure (Reentrant) Parser: Pure Decl.).
309 * Calc++ Scanner:: A pure C++ Flex scanner
4518 * Pure Decl:: Requesting a reentrant parser.
4981 File: bison.info, Node: Start Decl, Next: Pure Decl, Prev: Expect Decl, Up: Declarations
4994 File: bison.info, Node: Pure Decl, Next: Push Decl, Prev: Start Decl, Up: Declarations
4996 3.8.11 A Pure (Reentrant) Parser
5000 execution; in other words, it consists entirely of "pure" (read-only)
5012 Alternatively, you can generate a pure, reentrant parser. The Bison
5013 declaration `%define api.pure' says that you want the parser to be
5016 %define api.pure full
5021 Conventions for Pure Parsers: Pure Calling, for the details of this.
5027 Whether the parser is pure has nothing to do with the grammar rules.
5028 You can generate either a pure parser or a nonreentrant parser from any
5032 File: bison.info, Node: Push Decl, Next: Decl Summary, Prev: Pure Decl, Up: Declarations
5056 a pure parser (*note A Pure (Reentrant) Parser: Pure Decl.). The only
5061 %define api.pure full
5064 There is a major notable functional difference between the pure push
5065 parser and the impure push parser. It is acceptable for a pure push
5077 example of using a pure push parser would look like this:
5127 Adding the `%define api.pure full' declaration does exactly the same
5212 Unless your parser is pure, the parser header file declares
5213 `yylval' as an external variable. *Note A Pure (Reentrant)
5214 Parser: Pure Decl.
5280 -- Directive: %pure-parser
5281 Deprecated version of `%define api.pure' (*note api.pure: %define
5415 * `api.pure'
5419 * Purpose: Request a pure (reentrant) parser program. *Note A
5420 Pure (Reentrant) Parser: Pure Decl.
5427 When `%define api.pure full' is used, the parser is made
5428 reentrant. This changes the signature for `yylex' (*note Pure
5436 I.e., if `%locations %define api.pure' is passed then the
5442 But if `%locations %define api.pure %parse-param {int
5835 Or, if both `%define api.pure full' (or just `%define api.pure') and
5941 * Pure Calling:: How the calling convention differs in a pure parser
5942 (*note A Pure (Reentrant) Parser: Pure Decl.).
6055 File: bison.info, Node: Token Locations, Next: Pure Calling, Prev: Token Values, Up: Lexical
6076 File: bison.info, Node: Pure Calling, Prev: Token Locations, Up: Lexical
6078 4.6.4 Calling Conventions for Pure Parsers
6081 When you use the Bison declaration `%define api.pure full' to request a
6082 pure, reentrant parser, the global communication variables `yylval' and
6083 `yylloc' cannot be used. (*Note A Pure (Reentrant) Parser: Pure Decl.)
6117 If `%define api.pure full' (or just `%define api.pure') is added:
6169 Obviously, in location tracking pure parsers, `yyerror' should have
6170 an access to the current location. With `%define api.pure', this is
6172 historical reasons, and this is the why `%define api.pure full' should
6173 be prefered over `%define api.pure'.
6175 When `%locations %define api.pure full' is used, `yyerror' has the
6191 so far. Normally this variable is global; but if you request a pure
6192 parser (*note A Pure (Reentrant) Parser: Pure Decl.) then it is a
9403 parsers, C++ parsers are always pure: there is no point in using the
9404 `%define api.pure full' directive. Therefore the interface is as
9433 * Calc++ Scanner:: A pure C++ Flex scanner
9457 To support a pure interface with the parser (and the scanner) the
9518 To demonstrate pure handling of parse errors, instead of simply dumping
9602 This provides a simple but effective pure interface, not relying on
9875 Therefore, all Java parsers are "pure", and the `%pure-parser' and
9876 `%define api.pure full' directives does not do anything when used in
10385 did specify `%define api.pure full'.
10863 `yylex' should accept. *Note Calling Conventions for Pure
10864 Parsers: Pure Calling.
10911 -- Directive: %pure-parser
10912 Deprecated version of `%define api.pure' (*note api.pure: %define
10976 lookahead token. (In a pure parser, it is a local variable within
11036 *Note Calling Conventions for Pure Parsers: Pure Calling.
11040 numbers associated with a token. (In a pure parser, it is a local
11054 associated with a token. (In a pure parser, it is a local
11066 syntax error. (In a pure parser, it is a local variable within
11067 `yyparse'. In a pure push parser, it is a member of yypstate.)
11112 Pure Parsers: Pure Calling.
11303 various invocations. *Note A Pure (Reentrant) Parser: Pure Decl.
11977 * %define api.pure <1>: Pure Decl. (line 6)
11978 * %define api.pure: %define Summary. (line 75)
12047 * %lex-param <1>: Pure Calling. (line 31)
12076 * %pure-parser <1>: Table of Symbols. (line 212)
12077 * %pure-parser: Decl Summary. (line 150)
12368 * lex-param: Pure Calling. (line 31)
12464 * pure parser: Pure Decl. (line 6)
12478 * reentrant parser: Pure Decl. (line 6)
12750 Node: Pure Decl205694
12766 Node: Pure Calling247649