This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Correct &CORE::foo entry in perldiag
[perl5.git] / parser.h
index c19bc28..2b048aa 100644 (file)
--- a/parser.h
+++ b/parser.h
@@ -6,7 +6,7 @@
  *    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).
+ * and lexer (perly.c, toke.c).
  */
 
 #define YYEMPTY                (-2)
@@ -105,9 +105,10 @@ typedef struct yy_parser {
     COP                *saved_curcop;  /* the previous PL_curcop */
     char       tokenbuf[256];
 
-    bool       in_pod;         /* lexer is within a =pod section */
     U8         lex_fakeeof;    /* precedence at which to fake EOF */
-    U32                lex_flags;
+    PERL_BITFIELD16    lex_flags:14;
+    PERL_BITFIELD16    in_pod:1;      /* lexer is within a =pod section */
+    PERL_BITFIELD16    filtered:1;    /* source filters in evalbytes */
 } yy_parser;
 
 /* flags for lexer API */
@@ -116,8 +117,13 @@ typedef struct yy_parser {
 
 #ifdef PERL_CORE
 # define LEX_START_SAME_FILTER 0x00000001
+# define LEX_IGNORE_UTF8_HINTS 0x00000002
+# define LEX_EVALBYTES         0x00000004
+# define LEX_START_COPIED      0x00000008
+# define LEX_START_FLAGS \
+       (LEX_START_SAME_FILTER|LEX_START_COPIED \
+       |LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES)
 #endif
-#define LEX_IGNORE_UTF8_HINTS  0x00000002
 
 /* flags for parser API */
 #define PARSE_OPTIONAL          0x00000001