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