X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/802a15e9c01d1a0b6bb74d5a6e5dcd9ee1a651a4..8114efa073c94fe6d21f4dd37d10822583986fc2:/parser.h?ds=sidebyside diff --git a/parser.h b/parser.h index bbf3bf3..967e872 100644 --- a/parser.h +++ b/parser.h @@ -1,12 +1,12 @@ /* 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) @@ -105,21 +105,29 @@ 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; + U8 lex_flags; + 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_STUFF_UTF8 0x00000001 #define LEX_KEEP_PREVIOUS 0x00000002 + #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_DONT_CLOSE_RSFP 0x00000010 +# define LEX_START_FLAGS \ + (LEX_START_SAME_FILTER|LEX_START_COPIED \ + |LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES|LEX_DONT_CLOSE_RSFP) #endif /* flags for parser API */ #define PARSE_OPTIONAL 0x00000001 -#define LEX_IGNORE_UTF8_HINTS 0x00000002 /* values for lex_fakeeof */ enum { @@ -141,8 +149,8 @@ enum { * Local variables: * c-indentation-style: bsd * c-basic-offset: 4 - * indent-tabs-mode: t + * indent-tabs-mode: nil * End: * - * ex: set ts=8 sts=4 sw=4 noet: + * ex: set ts=8 sts=4 sw=4 et: */