X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/60d6334874c6f82066ad72b36a86bcb753de82a2..f2ead8b816519a65496980beeb8606954f270d43:/parser.h diff --git a/parser.h b/parser.h index 36b1a43..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,10 +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 */ - bool filtered; /* source filters in evalbytes */ - 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 */ @@ -119,8 +119,11 @@ typedef struct yy_parser { # 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_IGNORE_UTF8_HINTS|LEX_EVALBYTES) + (LEX_START_SAME_FILTER|LEX_START_COPIED \ + |LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES|LEX_DONT_CLOSE_RSFP) #endif /* flags for parser API */ @@ -146,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: */