* opcode.h
*
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- * 2000, 2001, 2002, 2003, 2004, 2005 by Larry Wall and others
+ * 2000, 2001, 2002, 2003, 2004, 2005, 2006 by 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.
"method_named",
"dor",
"dorassign",
+ "entergiven",
+ "leavegiven",
+ "enterwhen",
+ "leavewhen",
+ "break",
+ "continue",
+ "smartmatch",
+ "say",
"custom",
};
#endif
"method with known name",
"defined or (//)",
"defined or assignment (//=)",
+ "given()",
+ "leave given block",
+ "when()",
+ "leave when block",
+ "break",
+ "continue",
+ "smart match",
+ "say",
"unknown custom operator",
};
#endif
START_EXTERN_C
#ifdef PERL_GLOBAL_STRUCT_INIT
+# define PERL_PPADDR_INITED
static const Perl_ppaddr_t Gppaddr[]
#else
# ifndef PERL_GLOBAL_STRUCT
+# define PERL_PPADDR_INITED
EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
# endif
#endif /* PERL_GLOBAL_STRUCT */
#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+# define PERL_PPADDR_INITED
= {
MEMBER_TO_FPTR(Perl_pp_null),
MEMBER_TO_FPTR(Perl_pp_stub),
MEMBER_TO_FPTR(Perl_pp_i_ne),
MEMBER_TO_FPTR(Perl_pp_ncmp),
MEMBER_TO_FPTR(Perl_pp_i_ncmp),
- MEMBER_TO_FPTR(Perl_pp_slt),
- MEMBER_TO_FPTR(Perl_pp_sgt),
+ MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_slt */
+ MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sgt */
MEMBER_TO_FPTR(Perl_pp_sle),
- MEMBER_TO_FPTR(Perl_pp_sge),
+ MEMBER_TO_FPTR(Perl_pp_sle), /* Perl_pp_sge */
MEMBER_TO_FPTR(Perl_pp_seq),
MEMBER_TO_FPTR(Perl_pp_sne),
MEMBER_TO_FPTR(Perl_pp_scmp),
MEMBER_TO_FPTR(Perl_pp_chr),
MEMBER_TO_FPTR(Perl_pp_crypt),
MEMBER_TO_FPTR(Perl_pp_ucfirst),
- MEMBER_TO_FPTR(Perl_pp_lcfirst),
+ MEMBER_TO_FPTR(Perl_pp_ucfirst), /* Perl_pp_lcfirst */
MEMBER_TO_FPTR(Perl_pp_uc),
MEMBER_TO_FPTR(Perl_pp_lc),
MEMBER_TO_FPTR(Perl_pp_quotemeta),
MEMBER_TO_FPTR(Perl_pp_or),
MEMBER_TO_FPTR(Perl_pp_xor),
MEMBER_TO_FPTR(Perl_pp_cond_expr),
- MEMBER_TO_FPTR(Perl_pp_andassign),
- MEMBER_TO_FPTR(Perl_pp_orassign),
+ MEMBER_TO_FPTR(Perl_pp_and), /* Perl_pp_andassign */
+ MEMBER_TO_FPTR(Perl_pp_or), /* Perl_pp_orassign */
MEMBER_TO_FPTR(Perl_pp_method),
MEMBER_TO_FPTR(Perl_pp_entersub),
MEMBER_TO_FPTR(Perl_pp_leavesub),
MEMBER_TO_FPTR(Perl_pp_setstate),
MEMBER_TO_FPTR(Perl_pp_method_named),
MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dor */
- MEMBER_TO_FPTR(Perl_pp_dorassign),
+ MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dorassign */
+ MEMBER_TO_FPTR(Perl_pp_entergiven),
+ MEMBER_TO_FPTR(Perl_pp_leavegiven),
+ MEMBER_TO_FPTR(Perl_pp_enterwhen),
+ MEMBER_TO_FPTR(Perl_pp_leavewhen),
+ MEMBER_TO_FPTR(Perl_pp_break),
+ MEMBER_TO_FPTR(Perl_pp_continue),
+ MEMBER_TO_FPTR(Perl_pp_smartmatch),
+ MEMBER_TO_FPTR(Perl_pp_print), /* Perl_pp_say */
}
#endif
+#ifdef PERL_PPADDR_INITED
;
+#endif
#ifdef PERL_GLOBAL_STRUCT_INIT
+# define PERL_CHECK_INITED
static const Perl_check_t Gcheck[]
#else
# ifndef PERL_GLOBAL_STRUCT
+# define PERL_CHECK_INITED
EXT Perl_check_t PL_check[] /* or perlvars.h */
# endif
#endif
#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+# define PERL_CHECK_INITED
= {
MEMBER_TO_FPTR(Perl_ck_null), /* null */
MEMBER_TO_FPTR(Perl_ck_null), /* stub */
MEMBER_TO_FPTR(Perl_ck_null), /* method_named */
MEMBER_TO_FPTR(Perl_ck_null), /* dor */
MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */
+ MEMBER_TO_FPTR(Perl_ck_null), /* entergiven */
+ MEMBER_TO_FPTR(Perl_ck_null), /* leavegiven */
+ MEMBER_TO_FPTR(Perl_ck_null), /* enterwhen */
+ MEMBER_TO_FPTR(Perl_ck_null), /* leavewhen */
+ MEMBER_TO_FPTR(Perl_ck_null), /* break */
+ MEMBER_TO_FPTR(Perl_ck_null), /* continue */
+ MEMBER_TO_FPTR(Perl_ck_smartmatch), /* smartmatch */
+ MEMBER_TO_FPTR(Perl_ck_say), /* say */
MEMBER_TO_FPTR(Perl_ck_null), /* custom */
}
#endif
+#ifdef PERL_CHECK_INITED
;
+#endif /* #ifdef PERL_CHECK_INITED */
#ifndef PERL_GLOBAL_STRUCT_INIT
0x0022281c, /* vec */
0x0122291c, /* index */
0x0122291c, /* rindex */
- 0x0004280f, /* sprintf */
+ 0x0004280d, /* sprintf */
0x00042805, /* formline */
0x0001379e, /* ord */
0x0001378e, /* chr */
0x00000c40, /* method_named */
0x00000600, /* dor */
0x00000604, /* dorassign */
+ 0x00000640, /* entergiven */
+ 0x00000200, /* leavegiven */
+ 0x00000640, /* enterwhen */
+ 0x00000200, /* leavewhen */
+ 0x00000000, /* break */
+ 0x00000000, /* continue */
+ 0x00000404, /* smartmatch */
+ 0x0005c815, /* say */
0x00000000, /* custom */
};
#endif