X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=opcode.h;h=ac3c01ea96d44a9ccc4dea653965b6bde82bfc65;hb=a146a244ce1425446618620fe96b3481b5463a4f;hp=3b33935b368c41a64cd2e97925f3fbbede74975d;hpb=c960fc3b3086016b5cf3008030dd5aa01b2db20d;p=p5sagit%2Fp5-mst-13.2.git diff --git a/opcode.h b/opcode.h index 3b33935..ac3c01e 100644 --- a/opcode.h +++ b/opcode.h @@ -3,7 +3,7 @@ * 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. @@ -386,6 +386,14 @@ EXTCONST char* const PL_op_name[] = { "method_named", "dor", "dorassign", + "entergiven", + "leavegiven", + "enterwhen", + "leavewhen", + "break", + "continue", + "smartmatch", + "say", "custom", }; #endif @@ -747,6 +755,14 @@ EXTCONST char* const PL_op_desc[] = { "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 @@ -758,13 +774,16 @@ END_EXTERN_C 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), @@ -850,10 +869,10 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ 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), @@ -887,7 +906,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ 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), @@ -925,12 +944,12 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_pp_range), MEMBER_TO_FPTR(Perl_pp_flip), MEMBER_TO_FPTR(Perl_pp_flop), - MEMBER_TO_FPTR(Perl_pp_and), /* Perl_pp_and */ - MEMBER_TO_FPTR(Perl_pp_or), /* Perl_pp_or */ + MEMBER_TO_FPTR(Perl_pp_and), + 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), @@ -1119,18 +1138,31 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */ MEMBER_TO_FPTR(Perl_pp_method_named), MEMBER_TO_FPTR(Perl_pp_defined), /* Perl_pp_dor */ 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 */ @@ -1485,10 +1517,20 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */ 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 @@ -1611,7 +1653,7 @@ EXT const U32 PL_opargs[] = { 0x0022281c, /* vec */ 0x0122291c, /* index */ 0x0122291c, /* rindex */ - 0x0004280f, /* sprintf */ + 0x0004280d, /* sprintf */ 0x00042805, /* formline */ 0x0001379e, /* ord */ 0x0001378e, /* chr */ @@ -1849,6 +1891,14 @@ EXT const U32 PL_opargs[] = { 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