diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2014-06-13 15:21:25 -0400 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2014-06-13 15:41:55 -0400 |
commit | b5bbe64ad2ec51417ef02ac52304ed45fe37be3f (patch) | |
tree | 71f1b45882f215a6d886d3bc08954c02a54e6af0 /op.h | |
parent | 7053d92917f7cb46452de86dc4c6d8644cae849c (diff) | |
download | perl-b5bbe64ad2ec51417ef02ac52304ed45fe37be3f.tar.gz |
Remove MAD.
MAD = Misc Attribute Decoration; unmaintained attempt at preserving
the Perl parse tree more faithfully so that automatic conversion to
Perl 6 would have been easier.
Diffstat (limited to 'op.h')
-rw-r--r-- | op.h | 104 |
1 files changed, 0 insertions, 104 deletions
@@ -35,12 +35,6 @@ #define OPCODE U16 -#ifdef PERL_MAD -# define MADPROP_IN_BASEOP MADPROP* op_madprop; -#else -# define MADPROP_IN_BASEOP -#endif - typedef PERL_BITFIELD16 Optype; #ifdef BASEOP_DEFINITION @@ -50,7 +44,6 @@ typedef PERL_BITFIELD16 Optype; OP* op_next; \ OP* op_sibling; \ OP* (*op_ppaddr)(pTHX); \ - MADPROP_IN_BASEOP \ PADOFFSET op_targ; \ PERL_BITFIELD16 op_type:9; \ PERL_BITFIELD16 op_opt:1; \ @@ -1062,103 +1055,6 @@ the NULL pointer check. #define newATTRSUB(f, o, p, a, b) Perl_newATTRSUB_x(aTHX_ f, o, p, a, b, FALSE) #define newSUB(f, o, p, b) newATTRSUB((f), (o), (p), NULL, (b)) -#ifdef PERL_MAD -# define MAD_NULL 1 -# define MAD_PV 2 -# define MAD_OP 3 -# define MAD_SV 4 - -struct madprop { - MADPROP* mad_next; - void *mad_val; - U32 mad_vlen; -/* short mad_count; */ - char mad_key; - char mad_type; -}; - -struct token { - I32 tk_type; - YYSTYPE tk_lval; - MADPROP* tk_mad; -}; -#endif - -/* - * Values that can be held by mad_key : - * ^ unfilled head spot - * , literal , - * ; literal ; (blank if implicit ; at end of block) - * : literal : from ?: or attr list - * + unary + - * ? literal ? from ?: - * ( literal ( - * ) literal ) - * [ literal [ - * ] literal ] - * { literal { - * } literal } - * @ literal @ sigil - * $ literal $ sigil - * * literal * sigil - * ! use is source filtered - * & & or sub - * # whitespace/comment following ; or } - * # $# sigil - * 1 1st ; from for(;;) - * 1 retired protasis - * 2 2nd ; from for(;;) - * 2 retired apodosis - * 3 C-style for list - * a sub or var attributes - * a non-method arrow operator - * A method arrow operator - * A use import args - * b format block - * B retired stub block - * C constant conditional op - * d declarator - * D do block - * e unreached "else" (see C) - * e expression producing E - * E tr/E/R/, /E/ - * f folded constant op - * F peg op for format - * g op was forced to be a word - * i if/unless modifier - * I if/elsif/unless statement - * k local declarator - * K retired kid op - * l last index of array ($#foo) - * L label - * m modifier on regex - * n sub or format name - * o current operator/declarator name - * o else/continue - * O generic optimized op - * p peg to hold extra whitespace at statement level - * P peg op for package declaration - * q opening quote - * = quoted material - * Q closing quote - * Q optimized qw// - * r expression producing R - * R tr/E/R/ s/E/R/ - * s sub signature - * S use import stub (no import) - * S retired sort block - * t unreached "then" (see C) - * U use import op - * v private sv of for loop - * V use version - * w while/until modifier - * W while/for statement - * x optimized qw - * X random thing - * _ whitespace/comments preceding anything else - * ~ =~ operator - */ - /* =head1 Hook manipulation */ |