blob: 9a61a521642b2d2d856b30a8aaa8d51ea8debf87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/* parser.h
*
* Copyright (c) 2006 Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
*
* This file defines the layout of the parser object used by the parser
* and lexer (perly.c, toke,c).
*/
typedef struct {
YYSTYPE val; /* semantic value */
short state;
AV *comppad; /* value of PL_comppad when this value was created */
#ifdef DEBUGGING
const char *name; /* token/rule name for -Dpv */
#endif
} yy_stack_frame;
typedef struct yy_parser {
struct yy_parser *old_parser; /* previous value of PL_parser */
int yychar; /* The lookahead symbol. */
YYSTYPE yylval; /* value of lookahead symbol, set by yylex() */
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
int stack_size;
int yylen; /* length of active reduction */
yy_stack_frame *stack; /* base of stack */
yy_stack_frame *ps; /* current stack frame */
} yy_parser;
|