/* parser.h
*
- * Copyright (c) 2006, 2007, Larry Wall and others
+ * Copyright (c) 2006, 2007, 2009, 2010, 2011 Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* 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)
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 */
- bool filtered; /* source filters in evalbytes */
- 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 */
# 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_IGNORE_UTF8_HINTS|LEX_EVALBYTES)
+ (LEX_START_SAME_FILTER|LEX_START_COPIED \
+ |LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES)
#endif
/* flags for parser API */