X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/4e46c5e2b0b1df7bde99da38de42feed2bb31f08..a8e51187c21fee8697b9299b5303d90883b1eba9:/parser.h diff --git a/parser.h b/parser.h index 8be2eaa..4187e0a 100644 --- a/parser.h +++ b/parser.h @@ -42,9 +42,9 @@ typedef struct yy_parser { /* 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 *stack_max1;/* (top-1)th element of allocated stack */ yy_stack_frame *ps; /* current stack frame */ /* lexer state */ @@ -95,30 +95,32 @@ typedef struct yy_parser { U16 in_my; /* we're compiling a "my"/"our" declaration */ U8 lex_state; /* next token is determined */ U8 error_count; /* how many compile errors so far, max 10 */ - /* 16-BIT HOLE */ HV *in_my_stash; /* declared class of this "my" declaration */ PerlIO *rsfp; /* current source file pointer */ AV *rsfp_filters; /* holds chain of active source filters */ - U8 form_lex_state; /* remember lex_state when parsing fmt */ YYSTYPE nextval[5]; /* value of next token, if any */ I32 nexttype[5]; /* type of next token */ U8 nexttoke; - + U8 form_lex_state; /* remember lex_state when parsing fmt */ + U8 lex_fakeeof; /* precedence at which to fake EOF */ + U8 lex_flags; COP *saved_curcop; /* the previous PL_curcop */ char tokenbuf[256]; line_t herelines; /* number of lines in here-doc */ line_t preambling; /* line # when processing $ENV{PERL5DB} */ - U8 lex_fakeeof; /* precedence at which to fake EOF */ - U8 lex_flags; + + /* these are valid while parsing a subroutine signature */ + IV sig_elems; /* number of signature elements seen so far */ + IV sig_optelems; /* number of optional signature elems seen */ + char sig_slurpy; /* the sigil of the slurpy var (or null) */ + + bool recheck_utf8_validity; + PERL_BITFIELD16 in_pod:1; /* lexer is within a =pod section */ PERL_BITFIELD16 filtered:1; /* source filters in evalbytes */ PERL_BITFIELD16 saw_infix_sigil:1; /* saw & or * or % operator */ PERL_BITFIELD16 parsed_sub:1; /* last thing parsed was a sub */ - /* these are valid whiling parsing a subroutine signature */ - IV sig_elems; /* number of signature elements seen so far */ - IV sig_optelems; /* number of optional signature elems seen */ - char sig_slurpy; /* the sigil of the slurpy var (or null) */ } yy_parser; /* flags for lexer API */