actually only holding chars.
p4raw-id: //depot/perl@31015
PERLVARI(Icshlen, I32, 0)
#endif
-PERLVAR(Ilex_state, U32) /* next token is determined */
+PERLVAR(Ilex_state, U8) /* next token is determined */
/* What we know when we're in LEX_KNOWNEXT state. */
#ifdef PERL_MAD
PERLVAR(Ioldbufptr, char *)
PERLVAR(Ioldoldbufptr, char *)
PERLVAR(Ibufend, char *)
-PERLVARI(Iexpect,int, XSTATE) /* how to interpret ambiguous tokens */
+PERLVARI(Iexpect, U8, XSTATE) /* how to interpret ambiguous tokens */
PERLVAR(Imulti_end, I32) /* last line of multi-line string */
/* fake up C<use attributes $pkg,$rv,@attrs> */
ENTER; /* need to protect against side-effects of 'use' */
- SAVEINT(PL_expect);
+ SAVEI8(PL_expect);
stashsv = stash ? newSVhek(HvNAME_HEK(stash)) : &PL_sv_no;
#define ATTRSMODULE "attributes"
{
const line_t ocopline = PL_copline;
COP * const ocurcop = PL_curcop;
- const int oexpect = PL_expect;
+ const U8 oexpect = PL_expect;
utilize(!(flags & PERL_LOADMOD_DENY), start_subparse(FALSE, 0),
veop, modname, imop);
I32 lex_casemods; /* casemod count */
char *lex_brackstack;/* what kind of brackets to pop */
char *lex_casestack; /* what kind of case mods in effect */
- U32 lex_defer; /* state after determined token */
- I32 lex_dojoin; /* doing an array interpolation */
- int lex_expect; /* expect after determined token */
+ U8 lex_defer; /* state after determined token */
+ bool lex_dojoin; /* doing an array interpolation */
+ U8 lex_expect; /* expect after determined token */
I32 lex_formbrack; /* bracket count at outer format level */
OP *lex_inpat; /* in pattern $) and $| are special */
OP *lex_op; /* extra info to pass back on op */
SV *lex_repl; /* runtime replacement from s/// */
- I32 lex_inwhat; /* what kind of quoting are we in */
+ U16 lex_inwhat; /* what kind of quoting are we in */
I32 lex_starts; /* how many interps done on level */
SV *lex_stuff; /* runtime pattern from m// or s/// */
I32 multi_start; /* 1st line of multi-line string */
- I32 multi_open; /* delimiter of said string */
- I32 multi_close; /* delimiter of said string */
+ char multi_open; /* delimiter of said string */
+ char multi_close; /* delimiter of said string */
char pending_ident; /* pending identifier lookup */
bool preambled;
SUBLEXINFO sublex_info;
typedef struct _sublex_info SUBLEXINFO;
struct _sublex_info {
- I32 super_state; /* lexer state to save */
- I32 sub_inwhat; /* "lex_inwhat" to use */
+ U8 super_state; /* lexer state to save */
+ U16 sub_inwhat; /* "lex_inwhat" to use */
OP *sub_op; /* "lex_op" to use */
char *super_bufptr; /* PL_bufptr that was */
char *super_bufend; /* PL_bufend that was */
/* initialise lexer state */
- SAVEI32(PL_lex_state);
+ SAVEI8(PL_lex_state);
#ifdef PERL_MAD
if (PL_lex_state == LEX_KNOWNEXT) {
I32 toke = parser->old_parser->lasttoke;
SAVEPPTR(PL_linestart);
SAVESPTR(PL_linestr);
SAVEDESTRUCTOR_X(restore_rsfp, PL_rsfp);
- SAVEINT(PL_expect);
+ SAVEI8(PL_expect);
PL_copline = NOLINE;
PL_lex_state = LEX_NORMAL;
ENTER;
PL_lex_state = PL_sublex_info.super_state;
- SAVEI32(PL_lex_dojoin);
+ SAVEBOOL(PL_lex_dojoin);
SAVEI32(PL_lex_brackets);
SAVEI32(PL_lex_casemods);
SAVEI32(PL_lex_starts);
- SAVEI32(PL_lex_state);
+ SAVEI8(PL_lex_state);
SAVEVPTR(PL_lex_inpat);
- SAVEI32(PL_lex_inwhat);
+ SAVEI8(PL_lex_inwhat);
SAVECOPLINE(PL_curcop);
SAVEPPTR(PL_bufptr);
SAVEPPTR(PL_bufend);