This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
t/base/lex.t: Test pyoq with comment before delim
[perl5.git] / parser.h
index 16b756f..dc5e89d 100644 (file)
--- a/parser.h
+++ b/parser.h
@@ -25,6 +25,10 @@ typedef struct {
    ing scopes. */
 typedef struct yy_lexshared {
     struct yy_lexshared        *ls_prev;
+    SV                 *ls_linestr;    /* mirrors PL_parser->linestr */
+    char               *ls_bufptr;     /* mirrors PL_parser->bufptr */
+    char               *re_eval_start; /* start of "(?{..." text */
+    SV                 *re_eval_str;   /* "(?{...})" text */
     line_t             herelines;      /* number of lines in here-doc */
 } LEXSHARED;
 
@@ -66,8 +70,8 @@ typedef struct yy_parser {
     I32                multi_end;      /* last line of multi-line string */
     char       multi_open;     /* delimiter of said string */
     char       multi_close;    /* delimiter of said string */
-    char       pending_ident;  /* pending identifier lookup */
     bool       preambled;
+    bool        lex_re_reparsing; /* we're doing G_RE_REPARSING */
     I32                lex_allbrackets;/* (), [], {}, ?: bracket count */
     SUBLEXINFO sublex_info;
     LEXSHARED  *lex_shared;
@@ -124,6 +128,7 @@ typedef struct yy_parser {
     U8         lex_flags;
     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 */
 } yy_parser;
 
 /* flags for lexer API */