Commit | Line | Data |
---|---|---|
5912531f DM |
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 |