This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
merge the four parser stacks into one
[perl5.git] / intrpvar.h
index 4c63b08..8c94284 100644 (file)
@@ -70,7 +70,6 @@ PERLVAR(Iformfeed,    SV *)           /* $^L */
 
 PERLVARI(Imaxsysfd,    I32,    MAXSYSFD)
                                        /* top fd to pass to subprocesses */
-PERLVAR(Imultiline,    int)            /* $*--do strings hold >1 line? */
 PERLVAR(Istatusvalue,  I32)            /* $? */
 PERLVAR(Iexit_flags,   U8)             /* was exit() unexpected, etc. */
 #ifdef VMS
@@ -134,6 +133,7 @@ PERLVAR(Iglobalstash,       HV *)           /* global keyword overrides imported here */
 PERLVAR(Icurstname,    SV *)           /* name of current package */
 PERLVAR(Ibeginav,      AV *)           /* names of BEGIN subroutines */
 PERLVAR(Iendav,                AV *)           /* names of END subroutines */
+PERLVAR(Iunitcheckav,  AV *)           /* names of UNITCHECK subroutines */
 PERLVAR(Icheckav,      AV *)           /* names of CHECK subroutines */
 PERLVAR(Iinitav,       AV *)           /* names of INIT subroutines */
 PERLVAR(Istrtab,       HV *)           /* shared string table */
@@ -248,7 +248,7 @@ PERLVAR(Iosname,    char *)         /* operating system */
 
 PERLVAR(Isighandlerp,  Sighandler_t)
 
-PERLVARA(Ibody_roots,  SVt_LAST, void*) /* array of body roots */
+PERLVARA(Ibody_roots,  PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
 
 PERLVAR(Inice_chunk,   char *)         /* a nice chunk of memory to reuse */
 PERLVAR(Inice_chunk_size,      U32)    /* how nice the chunk of memory is */
@@ -298,9 +298,26 @@ PERLVAR(Ilex_brackstack,char *)            /* what kind of brackets to pop */
 PERLVAR(Ilex_casestack,        char *)         /* what kind of case mods in effect */
 
 /* What we know when we're in LEX_KNOWNEXT state. */
+#ifdef PERL_MAD
+PERLVARA(Inexttoke,5,  NEXTTOKE)       /* value of next token, if any */
+PERLVAR(Ilasttoke,     I32)
+PERLVAR(Irealtokenstart,I32)
+PERLVAR(Ifaketokens,   I32)
+PERLVAR(Ithismad,      MADPROP *)
+PERLVAR(Ithistoken,    SV *)
+PERLVAR(Ithisopen,     SV *)
+PERLVAR(Ithisstuff,    SV *)
+PERLVAR(Ithisclose,    SV *)
+PERLVAR(Ithiswhite,    SV *)
+PERLVAR(Inextwhite,    SV *)
+PERLVAR(Iskipwhite,    SV *)
+PERLVAR(Iendwhite,     SV *)
+PERLVAR(Icurforce,     I32)
+#else
 PERLVARA(Inextval,5,   YYSTYPE)        /* value of next token, if any */
 PERLVARA(Inexttype,5,  I32)            /* type of next token */
 PERLVAR(Inexttoke,     I32)
+#endif
 
 PERLVAR(Ilinestr,      SV *)
 PERLVAR(Ibufptr,       char *)
@@ -439,6 +456,12 @@ PERLVAR(Ireentrant_buffer, REENTR*)        /* here we store the _r buffers */
 
 PERLVARI(Isavebegin,     bool, FALSE)  /* save BEGINs for compiler     */
 
+#ifdef PERL_MAD
+PERLVARI(Imadskills,   bool, FALSE)    /* preserve all syntactic info */
+                                       /* (MAD = Misc Attribute Decoration) */
+PERLVARI(Ixmlfp, PerlIO *,NULL)
+#endif
+
 PERLVAR(Icustom_op_names, HV*)  /* Names of user defined ops */
 PERLVAR(Icustom_op_descs, HV*)  /* Descriptions of user defined ops */
 
@@ -468,6 +491,7 @@ PERLVAR(Iutf8_idcont,       SV *)
 PERLVAR(Isort_RealCmp,  SVCOMPARE_t)
 
 PERLVARI(Icheckav_save, AV*, NULL)     /* save CHECK{}s when compiling */
+PERLVARI(Iunitcheckav_save, AV*, NULL) /* save UNITCHECK{}s when compiling */
 
 PERLVARI(Iclocktick, long, 0)  /* this many times() ticks in a second */
 
@@ -530,6 +554,12 @@ PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
 PERLVAR(Imemory_debug_header, struct perl_memory_debug_header)
 #endif
 
+#ifdef PERL_UTF8_CACHE_ASSERT
+PERLVARI(Iutf8cache, I8, -1)   /* Is the utf8 caching code enabled? */
+#else
+PERLVARI(Iutf8cache, I8, 1)    /* Is the utf8 caching code enabled? */
+#endif
+
 /* New variables must be added to the very end, before this comment,
  * for binary compatibility (the offsets of the old members must not change).
  * (Don't forget to add your variable also to perl_clone()!)