| CODENOTIFIER | HelpYou are not signed inSign in |
Project: Pugs
Revision: 22183
Author: ruoso
Date: 07 Sep 2008 14:02:24
Changes:[smop] implementing the array iterator... some weirdness is still happening, the test is still failing... but it is mostly working
Files:| ... | ...@@ -60,8 +60,10 @@ | |
| 60 | 60 | smop_s1p_defaultblocksignature_init(); \ |
| 61 | 61 | smop_s1p_bindcapturesignature_init(); \ |
| 62 | 62 | smop_s1p_pureprototypehow_init(); \ |
| 63 | smop_s1p_map_init(); | |
| 63 | smop_s1p_map_init(); \ | |
| 64 | smop_s1p_array_iterator_init(); | |
| 64 | 65 | #define SMOP_INTERNAL_DESTROY_SEQUENCE \ |
| 66 | smop_s1p_array_iterator_destr(); \ | |
| 65 | 67 | smop_s1p_map_destr(); \ |
| 66 | 68 | smop_s1p_pureprototypehow_destr(); \ |
| 67 | 69 | smop_s1p_bindcapturesignature_destr(); \ |
| ... | ...@@ -89,8 +91,10 @@ | |
| 89 | 91 | smop_s1p_code_mold_init(); \ |
| 90 | 92 | smop_s1p_pureprototypehow_mold_init(); \ |
| 91 | 93 | smop_s1p_map_mold_init(); \ |
| 94 | smop_s1p_array_iterator_mold_init(); \ | |
| 92 | 95 | |
| 93 | 96 | #define SMOP_BOOTSTRAP_DESTR_SEQUENCE \ |
| 97 | smop_s1p_array_iterator_mold_destr(); \ | |
| 94 | 98 | smop_s1p_map_mold_destr(); \ |
| 95 | 99 | smop_s1p_pureprototypehow_mold_destr();\ |
| 96 | 100 | smop_s1p_code_mold_destr(); \ |
| ... | ...@@ -66,6 +66,10 @@ | |
| 66 | 66 | proxy->index = i; |
| 67 | 67 | proxy->array = (smop_s1p_array_struct*) SMOP_REFERENCE(interpreter,invocant); |
| 68 | 68 | ret = (SMOP__Object*) proxy; |
| 69 | ||
| 70 | } else if (identifier == SMOP__ID__Iterator) { | |
| 71 | ret = SMOP__S1P__Array_Iterator_create(SMOP_REFERENCE(interpreter,(SMOP__Object*)invocant)); | |
| 72 | ||
| 69 | 73 | } else if (identifier == SMOP__ID__elems) { |
| 70 | 74 | ret = SMOP__NATIVE__int_create(invocant->elems); |
| 71 | 75 | } else if (identifier == SMOP__ID__DESTROYALL) { |
| ... | ...@@ -99,6 +103,8 @@ | |
| 99 | 103 | if (invocant->array->elems <= invocant->index) invocant->array->elems = invocant->index+1; |
| 100 | 104 | } else if (identifier == SMOP__ID__DESTROYALL) { |
| 101 | 105 | SMOP_RELEASE(interpreter,invocant->array); |
| 106 | } else if (identifier == SMOP__ID__bool) { | |
| 107 | ret = SMOP__NATIVE__bool_true; | |
| 102 | 108 | } else { |
| 103 | 109 | ___UNKNOWN_METHOD___ |
| 104 | 110 | } |
| ... | ...@@ -14,8 +14,16 @@ | |
| 14 | 14 | SMOP__ResponderInterface* self, |
| 15 | 15 | SMOP__Object* identifier, |
| 16 | 16 | SMOP__Object* capture) { |
| 17 | ___UNKNOWN_METHOD___; | |
| 18 | 17 | |
| 18 | if (identifier == SMOP__ID__bool) { | |
| 19 | ___NATIVE_CAPTURE_ONLY___; | |
| 20 | ___INVOCANT_RI_SHOULD_MATCH___; | |
| 21 | ||
| 22 | SMOP_RELEASE(interpreter,capture); | |
| 23 | return invocant; | |
| 24 | } else { | |
| 25 | ___UNKNOWN_METHOD___; | |
| 26 | } | |
| 19 | 27 | SMOP_RELEASE(interpreter,capture); |
| 20 | 28 | return SMOP__NATIVE__bool_false; |
| 21 | 29 | } |
| ... | ...@@ -4,6 +4,7 @@ | |
| 4 | 4 | |
| 5 | 5 | extern SMOP__Object* SMOP__S1P__Scalar; |
| 6 | 6 | extern SMOP__Object* SMOP__S1P__Array; |
| 7 | extern SMOP__Object* SMOP__S1P__Array_Iterator; | |
| 7 | 8 | extern SMOP__Object* SMOP__S1P__IO; |
| 8 | 9 | extern SMOP__Object* SMOP__S1P__Str; |
| 9 | 10 | extern SMOP__Object* SMOP__S1P__Hash; |
| ... | ...@@ -25,6 +25,7 @@ | |
| 25 | 25 | extern SMOP__Object* SMOP__ID__continuation; /* "continuation" */ |
| 26 | 26 | extern SMOP__Object* SMOP__ID__continues; /* "continues" */ |
| 27 | 27 | extern SMOP__Object* SMOP__ID__copy; /* "copy" */ |
| 28 | extern SMOP__Object* SMOP__ID__count; /* "count" */ | |
| 28 | 29 | extern SMOP__Object* SMOP__ID__create_container; /* "create_container" */ |
| 29 | 30 | extern SMOP__Object* SMOP__ID__CREATE; /* "CREATE" */ |
| 30 | 31 | extern SMOP__Object* SMOP__ID__current; /* "current" */ |
| ... | ...@@ -35,7 +36,7 @@ | |
| 35 | 36 | extern SMOP__Object* SMOP__ID__dispatch; /* "dispatch" */ |
| 36 | 37 | extern SMOP__Object* SMOP__ID__does; /* "does" */ |
| 37 | 38 | extern SMOP__Object* SMOP__ID__drop; /* "drop" */ |
| 38 | extern SMOP__Object* SMOP__ID__elems; /* "elems" */ | |
| 39 | extern SMOP__Object* SMOP__ID__elems; /* "elems" */ | |
| 39 | 40 | extern SMOP__Object* SMOP__ID__eval; /* "eval" */ |
| 40 | 41 | extern SMOP__Object* SMOP__ID__exists; /* "exists" */ |
| 41 | 42 | extern SMOP__Object* SMOP__ID__FETCH; /* "FETCH" */ |
| ... | ...@@ -50,10 +51,12 @@ | |
| 50 | 51 | extern SMOP__Object* SMOP__ID__HOW_isa; /* "^isa" */ |
| 51 | 52 | extern SMOP__Object* SMOP__ID__HOW_methods; /* "^methods" */ |
| 52 | 53 | extern SMOP__Object* SMOP__ID__identifier; /* "identifier" */ |
| 53 | extern SMOP__Object* SMOP__ID__infix_eq; /* "infix:eq" */ | |
| 54 | extern SMOP__Object* SMOP__ID__infix_num_gt; /* "infix:>" */ | |
| 54 | extern SMOP__Object* SMOP__ID__infix_eq; /* "infix:eq" */ | |
| 55 | extern SMOP__Object* SMOP__ID__infix_num_gt; /* "infix:>" */ | |
| 56 | extern SMOP__Object* SMOP__ID__input_array; /* "input_array" */ | |
| 55 | 57 | extern SMOP__Object* SMOP__ID__invocant; /* "invocant" */ |
| 56 | 58 | extern SMOP__Object* SMOP__ID__isa; /* "isa" */ |
| 59 | extern SMOP__Object* SMOP__ID__Iterator; /* "Iterator" */ | |
| 57 | 60 | extern SMOP__Object* SMOP__ID__jail; /* "jail" */ |
| 58 | 61 | extern SMOP__Object* SMOP__ID__lexical; /* "lexical" */ |
| 59 | 62 | extern SMOP__Object* SMOP__ID__loop; /* "loop" */ |
| ... | ...@@ -73,6 +76,7 @@ | |
| 73 | 76 | extern SMOP__Object* SMOP__ID__postcircumfix_parens; /* "postcircumfix:( )" */ |
| 74 | 77 | extern SMOP__Object* SMOP__ID__postcircumfix_square; /* "postcircumfix:[ ]" */ |
| 75 | 78 | extern SMOP__Object* SMOP__ID__postfix_plusplus; /* "postfix:++" */ |
| 79 | extern SMOP__Object* SMOP__ID__prefix_equal; /* "prefix:=" */ | |
| 76 | 80 | extern SMOP__Object* SMOP__ID__private_name; /* "private_name" */ |
| 77 | 81 | extern SMOP__Object* SMOP__ID__push; /* "push" */ |
| 78 | 82 | extern SMOP__Object* SMOP__ID__register; /* "register" */ |
| ... | ...@@ -70,6 +70,7 @@ | |
| 70 | 70 | src/smop_s1p_attribute.sm0p |
| 71 | 71 | src/smop_s1p_code.sm0p |
| 72 | 72 | src/smop_s1p_map.sm0p |
| 73 | src/smop_s1p_array_iterator.sm0p | |
| 73 | 74 | ) |
| 74 | 75 | compile_sm0p (${sm0p_file}) |
| 75 | 76 | endforeach() |
| ... | ...@@ -89,6 +90,7 @@ | |
| 89 | 90 | src/smop_lowlevel.c |
| 90 | 91 | src/smop_mold.c |
| 91 | 92 | src/smop_s1p_array.c |
| 93 | src/smop_s1p_array_iterator.c | |
| 92 | 94 | src/smop_s1p_attribute.c |
| 93 | 95 | src/smop_s1p_capturize.c |
| 94 | 96 | src/smop_s1p_ccode.c |
| ... | ...@@ -35,7 +35,45 @@ | |
| 35 | 35 | |
| 36 | 36 | SMOP__Object* ret = SMOP__NATIVE__bool_false; |
| 37 | 37 | |
| 38 | ___UNKNOWN_METHOD___; | |
| 38 | if (identifier == SMOP__ID__prefix_equal) { | |
| 39 | ||
| 40 | SMOP__Object* frame = SMOP__Mold__Frame_create(interpreter,SMOP_REFERENCE(interpreter,smop_s1p_array_iterator_mold)); | |
| 41 | SMOP__Object* back = SMOP_DISPATCH(interpreter, SMOP_RI(interpreter), | |
| 42 | SMOP__ID__continuation, | |
| 43 | SMOP__NATIVE__capture_create(interpreter,SMOP_REFERENCE(interpreter,interpreter), | |
| 44 | NULL,NULL)); | |
| 45 | ||
| 46 | mold_reg_set(interpreter,frame,0,SMOP_REFERENCE(interpreter,interpreter)); | |
| 47 | mold_reg_set(interpreter,frame,1,SMOP_REFERENCE(interpreter,capture)); | |
| 48 | mold_reg_set(interpreter,frame,2,SMOP_REFERENCE(interpreter,back)); | |
| 49 | ||
| 50 | SMOP_DISPATCH(interpreter,SMOP_RI(interpreter),SMOP__ID__goto,frame); | |
| 51 | ||
| 52 | } else if (identifier == SMOP__ID__input_array) { | |
| 53 | ||
| 54 | smop_lowlevel_rdlock(invocant); | |
| 55 | ret = ((SMOP__S1P__Array_Iterator_struct*)invocant)->input_array; | |
| 56 | smop_lowlevel_unlock(invocant); | |
| 57 | ||
| 58 | SMOP_REFERENCE(interpreter,ret); | |
| 59 | ||
| 60 | } else if (identifier == SMOP__ID__count) { | |
| 61 | ||
| 62 | smop_lowlevel_rdlock(invocant); | |
| 63 | ret = ((SMOP__S1P__Array_Iterator_struct*)invocant)->count; | |
| 64 | smop_lowlevel_unlock(invocant); | |
| 65 | ||
| 66 | SMOP_REFERENCE(interpreter,ret); | |
| 67 | ||
| 68 | } else if (identifier == SMOP__ID__FETCH) { | |
| 69 | ||
| 70 | ret = SMOP_REFERENCE(interpreter,invocant); | |
| 71 | ||
| 72 | } else { | |
| 73 | ||
| 74 | ___UNKNOWN_METHOD___; | |
| 75 | ||
| 76 | } | |
| 39 | 77 | |
| 40 | 78 | SMOP_RELEASE(interpreter,invocant); |
| 41 | 79 | SMOP_RELEASE(interpreter,capture); |
| ... | ...@@ -63,27 +101,26 @@ | |
| 63 | 101 | my $interpreter; |
| 64 | 102 | my $capture; |
| 65 | 103 | my $back; |
| 66 | my $code; | |
| 67 | my $outer; | |
| 68 | my $signature; | |
| 69 | my $mold; | |
| 70 | 104 | |
| 71 | 105 | my $void; |
| 72 | 106 | |
| 73 | my $lexical_proto = ¢SMOP__S1P__LexicalScope; | |
| 74 | my $lexical = $lexical_proto."new"(); | |
| 75 | my $lexical_outer_container = $lexical."outer"(); | |
| 76 | $void = $lexical_outer_container."STORE"($outer); | |
| 77 | ||
| 78 | my $actualcapture = $capture."positional"(0); | |
| 79 | ||
| 80 | $void = $signature."BIND"($actualcapture,$lexical); | |
| 81 | my $frame_proto = ¢SMOP__Mold__Frame; | |
| 82 | my $frame = $frame_proto."new"($mold); | |
| 83 | $void = $frame."set_reg"(0, $interpreter); | |
| 84 | $void = $frame."set_reg"(1, $lexical); | |
| 85 | $void = $frame."set_back"($back); | |
| 86 | $void = $interpreter."goto"($frame); | |
| 107 | my $iterator = $capture."invocant"(); | |
| 108 | my $array = $iterator."input_array"(); | |
| 109 | my $count = $iterator."count"(); | |
| 110 | ||
| 111 | my $size = $array."elems"(); | |
| 112 | my $bigger = $count."infix:>"($size); | |
| 113 | ||
| 114 | if $bigger { goto final } else { goto has_next }; | |
| 115 | has_next: | |
| 116 | my $item = $array."postcircumfix:[ ]"($count); | |
| 117 | $void = $count."postfix:++"(); | |
| 118 | $void = $back."setr"($item); | |
| 119 | $void = $interpreter."goto"($back); | |
| 120 | final: | |
| 121 | $void = $back."setr"(¢SMOP__NATIVE__bool_false); | |
| 122 | $void = $interpreter."goto"($back) | |
| 123 | ||
| 87 | 124 | }; |
| 88 | 125 | } |
| 89 | 126 |
| ... | ...@@ -13,6 +13,7 @@ | |
| 13 | 13 | SMOP__Object* SMOP__ID__continuation; |
| 14 | 14 | SMOP__Object* SMOP__ID__continues; |
| 15 | 15 | SMOP__Object* SMOP__ID__copy; |
| 16 | SMOP__Object* SMOP__ID__count; | |
| 16 | 17 | SMOP__Object* SMOP__ID__create_container; |
| 17 | 18 | SMOP__Object* SMOP__ID__CREATE; |
| 18 | 19 | SMOP__Object* SMOP__ID__current; |
| ... | ...@@ -40,8 +41,10 @@ | |
| 40 | 41 | SMOP__Object* SMOP__ID__identifier; |
| 41 | 42 | SMOP__Object* SMOP__ID__infix_eq; |
| 42 | 43 | SMOP__Object* SMOP__ID__infix_num_gt; |
| 44 | SMOP__Object* SMOP__ID__input_array; | |
| 43 | 45 | SMOP__Object* SMOP__ID__invocant; |
| 44 | 46 | SMOP__Object* SMOP__ID__isa; |
| 47 | SMOP__Object* SMOP__ID__Iterator; | |
| 45 | 48 | SMOP__Object* SMOP__ID__jail; |
| 46 | 49 | SMOP__Object* SMOP__ID__lexical; |
| 47 | 50 | SMOP__Object* SMOP__ID__loop; |
| ... | ...@@ -61,6 +64,7 @@ | |
| 61 | 64 | SMOP__Object* SMOP__ID__postcircumfix_parens; |
| 62 | 65 | SMOP__Object* SMOP__ID__postcircumfix_square; |
| 63 | 66 | SMOP__Object* SMOP__ID__postfix_plusplus; |
| 67 | SMOP__Object* SMOP__ID__prefix_equal; | |
| 64 | 68 | SMOP__Object* SMOP__ID__private_name; |
| 65 | 69 | SMOP__Object* SMOP__ID__push; |
| 66 | 70 | SMOP__Object* SMOP__ID__register; |
| ... | ...@@ -13,6 +13,7 @@ | |
| 13 | 13 | SMOP__ID__continuation = SMOP__NATIVE__idconst_create_nolist( "continuation" ); |
| 14 | 14 | SMOP__ID__continues = SMOP__NATIVE__idconst_create_nolist( "continues" ); |
| 15 | 15 | SMOP__ID__copy = SMOP__NATIVE__idconst_create_nolist( "copy" ); |
| 16 | SMOP__ID__count = SMOP__NATIVE__idconst_create_nolist( "count" ); | |
| 16 | 17 | SMOP__ID__create_container = SMOP__NATIVE__idconst_create_nolist( "create_container" ); |
| 17 | 18 | SMOP__ID__CREATE = SMOP__NATIVE__idconst_create_nolist( "CREATE" ); |
| 18 | 19 | SMOP__ID__current = SMOP__NATIVE__idconst_create_nolist( "current" ); |
| ... | ...@@ -40,8 +41,10 @@ | |
| 40 | 41 | SMOP__ID__identifier = SMOP__NATIVE__idconst_create_nolist( "identifier" ); |
| 41 | 42 | SMOP__ID__infix_eq = SMOP__NATIVE__idconst_create_nolist( "infix:eq" ); |
| 42 | 43 | SMOP__ID__infix_num_gt = SMOP__NATIVE__idconst_create_nolist( "infix:>" ); |
| 44 | SMOP__ID__input_array = SMOP__NATIVE__idconst_create_nolist( "input_array" ); | |
| 43 | 45 | SMOP__ID__invocant = SMOP__NATIVE__idconst_create_nolist( "invocant" ); |
| 44 | 46 | SMOP__ID__isa = SMOP__NATIVE__idconst_create_nolist( "isa" ); |
| 47 | SMOP__ID__Iterator = SMOP__NATIVE__idconst_create_nolist( "Iterator" ); | |
| 45 | 48 | SMOP__ID__jail = SMOP__NATIVE__idconst_create_nolist( "jail" ); |
| 46 | 49 | SMOP__ID__lexical = SMOP__NATIVE__idconst_create_nolist( "lexical" ); |
| 47 | 50 | SMOP__ID__loop = SMOP__NATIVE__idconst_create_nolist( "loop" ); |
| ... | ...@@ -61,6 +64,7 @@ | |
| 61 | 64 | SMOP__ID__postcircumfix_parens = SMOP__NATIVE__idconst_create_nolist( "postcircumfix:( )" ); |
| 62 | 65 | SMOP__ID__postcircumfix_square = SMOP__NATIVE__idconst_create_nolist( "postcircumfix:[ ]" ); |
| 63 | 66 | SMOP__ID__postfix_plusplus = SMOP__NATIVE__idconst_create_nolist( "postfix:++" ); |
| 67 | SMOP__ID__prefix_equal = SMOP__NATIVE__idconst_create_nolist( "prefix:=" ); | |
| 64 | 68 | SMOP__ID__private_name = SMOP__NATIVE__idconst_create_nolist( "private_name" ); |
| 65 | 69 | SMOP__ID__push = SMOP__NATIVE__idconst_create_nolist( "push" ); |
| 66 | 70 | SMOP__ID__register = SMOP__NATIVE__idconst_create_nolist( "register" ); |
| ... | ...@@ -97,7 +101,7 @@ | |
| 97 | 101 | SMOP__ID__shift = SMOP__NATIVE__idconst_create_nolist( "shift" ); |
| 98 | 102 | SMOP__ID__signature = SMOP__NATIVE__idconst_create_nolist( "signature" ); |
| 99 | 103 | SMOP__ID__STORE = SMOP__NATIVE__idconst_create_nolist( "STORE" ); |
| 100 | constlist_size = 99; | |
| 104 | constlist_size = 103; | |
| 101 | 105 | constlist = calloc(constlist_size,sizeof(SMOP__Object*)); |
| 102 | 106 | assert(constlist); |
| 103 | 107 | constlist[0] = SMOP__ID__back; |
| ... | ...@@ -115,87 +119,91 @@ | |
| 115 | 119 | constlist[12] = SMOP__ID__continuation; |
| 116 | 120 | constlist[13] = SMOP__ID__continues; |
| 117 | 121 | constlist[14] = SMOP__ID__copy; |
| 118 | constlist[15] = SMOP__ID__create_container; | |
| 119 | constlist[16] = SMOP__ID__CREATE; | |
| 120 | constlist[17] = SMOP__ID__current; | |
| 121 | constlist[18] = SMOP__ID__debug; | |
| 122 | constlist[19] = SMOP__ID__defined; | |
| 123 | constlist[20] = SMOP__ID__DESTROYALL; | |
| 124 | constlist[21] = SMOP__ID__DESTROY; | |
| 125 | constlist[22] = SMOP__ID__dispatch; | |
| 126 | constlist[23] = SMOP__ID__does; | |
| 127 | constlist[24] = SMOP__ID__drop; | |
| 128 | constlist[25] = SMOP__ID__elems; | |
| 129 | constlist[26] = SMOP__ID__eval; | |
| 130 | constlist[27] = SMOP__ID__exists; | |
| 131 | constlist[28] = SMOP__ID__FETCH; | |
| 132 | constlist[29] = SMOP__ID__forget; | |
| 133 | constlist[30] = SMOP__ID__free; | |
| 134 | constlist[31] = SMOP__ID__goto; | |
| 135 | constlist[32] = SMOP__ID__has_next; | |
| 136 | constlist[33] = SMOP__ID__HOW_attributes; | |
| 137 | constlist[34] = SMOP__ID__HOW_can; | |
| 138 | constlist[35] = SMOP__ID__HOW_CREATE; | |
| 139 | constlist[36] = SMOP__ID__HOW_has; | |
| 140 | constlist[37] = SMOP__ID__HOW_isa; | |
| 141 | constlist[38] = SMOP__ID__HOW_methods; | |
| 142 | constlist[39] = SMOP__ID__identifier; | |
| 143 | constlist[40] = SMOP__ID__infix_eq; | |
| 144 | constlist[41] = SMOP__ID__infix_num_gt; | |
| 145 | constlist[42] = SMOP__ID__invocant; | |
| 146 | constlist[43] = SMOP__ID__isa; | |
| 147 | constlist[44] = SMOP__ID__jail; | |
| 148 | constlist[45] = SMOP__ID__lexical; | |
| 149 | constlist[46] = SMOP__ID__loop; | |
| 150 | constlist[47] = SMOP__ID__mold; | |
| 151 | constlist[48] = SMOP__ID__move_capturize; | |
| 152 | constlist[49] = SMOP__ID__move_identifier; | |
| 153 | constlist[50] = SMOP__ID__move_responder; | |
| 154 | constlist[51] = SMOP__ID__named; | |
| 155 | constlist[52] = SMOP__ID__name; | |
| 156 | constlist[53] = SMOP__ID__new; | |
| 157 | constlist[54] = SMOP__ID__next; | |
| 158 | constlist[55] = SMOP__ID__outer; | |
| 159 | constlist[56] = SMOP__ID__past; | |
| 160 | constlist[57] = SMOP__ID__perl; | |
| 161 | constlist[58] = SMOP__ID__positional; | |
| 162 | constlist[59] = SMOP__ID__postcircumfix_curly; | |
| 163 | constlist[60] = SMOP__ID__postcircumfix_parens; | |
| 164 | constlist[61] = SMOP__ID__postcircumfix_square; | |
| 165 | constlist[62] = SMOP__ID__postfix_plusplus; | |
| 166 | constlist[63] = SMOP__ID__private_name; | |
| 167 | constlist[64] = SMOP__ID__push; | |
| 168 | constlist[65] = SMOP__ID__register; | |
| 169 | constlist[66] = SMOP__ID__REPR_attributes; | |
| 170 | constlist[67] = SMOP__ID__REPR_bless; | |
| 171 | constlist[68] = SMOP__ID__REPR_can; | |
| 172 | constlist[69] = SMOP__ID__REPR_class_storage; | |
| 173 | constlist[70] = SMOP__ID__REPR_clone; | |
| 174 | constlist[71] = SMOP__ID__REPR_CREATE; | |
| 175 | constlist[72] = SMOP__ID__REPR_defined; | |
| 176 | constlist[73] = SMOP__ID__REPR_DESTROY; | |
| 177 | constlist[74] = SMOP__ID__REPR_destroy_instance_storage; | |
| 178 | constlist[75] = SMOP__ID__REPR_destroy_instance_storage_slot; | |
| 179 | constlist[76] = SMOP__ID__REPR_does; | |
| 180 | constlist[77] = SMOP__ID__REPR_has; | |
| 181 | constlist[78] = SMOP__ID__REPR_how; | |
| 182 | constlist[79] = SMOP__ID__REPR_initialize_instance_storage; | |
| 183 | constlist[80] = SMOP__ID__REPR_initialize_instance_storage_slot; | |
| 184 | constlist[81] = SMOP__ID__REPR_instance; | |
| 185 | constlist[82] = SMOP__ID__REPR_instanceof; | |
| 186 | constlist[83] = SMOP__ID__REPR_isa; | |
| 187 | constlist[84] = SMOP__ID__REPR_methods; | |
| 188 | constlist[85] = SMOP__ID__REPR_multimethods; | |
| 189 | constlist[86] = SMOP__ID__REPR_multisubmethods; | |
| 190 | constlist[87] = SMOP__ID__REPR_package; | |
| 191 | constlist[88] = SMOP__ID__REPR_private_storage; | |
| 192 | constlist[89] = SMOP__ID__REPR_properties; | |
| 193 | constlist[90] = SMOP__ID__REPR_submethods; | |
| 194 | constlist[91] = SMOP__ID__REPR_whence; | |
| 195 | constlist[92] = SMOP__ID__REPR_who; | |
| 196 | constlist[93] = SMOP__ID__responder; | |
| 197 | constlist[94] = SMOP__ID__result; | |
| 198 | constlist[95] = SMOP__ID__setr; | |
| 199 | constlist[96] = SMOP__ID__shift; | |
| 200 | constlist[97] = SMOP__ID__signature; | |
| 201 | constlist[98] = SMOP__ID__STORE; | |
| 122 | constlist[15] = SMOP__ID__count; | |
| 123 | constlist[16] = SMOP__ID__create_container; | |
| 124 | constlist[17] = SMOP__ID__CREATE; | |
| 125 | constlist[18] = SMOP__ID__current; | |
| 126 | constlist[19] = SMOP__ID__debug; | |
| 127 | constlist[20] = SMOP__ID__defined; | |
| 128 | constlist[21] = SMOP__ID__DESTROYALL; | |
| 129 | constlist[22] = SMOP__ID__DESTROY; | |
| 130 | constlist[23] = SMOP__ID__dispatch; | |
| 131 | constlist[24] = SMOP__ID__does; | |
| 132 | constlist[25] = SMOP__ID__drop; | |
| 133 | constlist[26] = SMOP__ID__elems; | |
| 134 | constlist[27] = SMOP__ID__eval; | |
| 135 | constlist[28] = SMOP__ID__exists; | |
| 136 | constlist[29] = SMOP__ID__FETCH; | |
| 137 | constlist[30] = SMOP__ID__forget; | |
| 138 | constlist[31] = SMOP__ID__free; | |
| 139 | constlist[32] = SMOP__ID__goto; | |
| 140 | constlist[33] = SMOP__ID__has_next; | |
| 141 | constlist[34] = SMOP__ID__HOW_attributes; | |
| 142 | constlist[35] = SMOP__ID__HOW_can; | |
| 143 | constlist[36] = SMOP__ID__HOW_CREATE; | |
| 144 | constlist[37] = SMOP__ID__HOW_has; | |
| 145 | constlist[38] = SMOP__ID__HOW_isa; | |
| 146 | constlist[39] = SMOP__ID__HOW_methods; | |
| 147 | constlist[40] = SMOP__ID__identifier; | |
| 148 | constlist[41] = SMOP__ID__infix_eq; | |
| 149 | constlist[42] = SMOP__ID__infix_num_gt; | |
| 150 | constlist[43] = SMOP__ID__input_array; | |
| 151 | constlist[44] = SMOP__ID__invocant; | |
| 152 | constlist[45] = SMOP__ID__isa; | |
| 153 | constlist[46] = SMOP__ID__Iterator; | |
| 154 | constlist[47] = SMOP__ID__jail; | |
| 155 | constlist[48] = SMOP__ID__lexical; | |
| 156 | constlist[49] = SMOP__ID__loop; | |
| 157 | constlist[50] = SMOP__ID__mold; | |
| 158 | constlist[51] = SMOP__ID__move_capturize; | |
| 159 | constlist[52] = SMOP__ID__move_identifier; | |
| 160 | constlist[53] = SMOP__ID__move_responder; | |
| 161 | constlist[54] = SMOP__ID__named; | |
| 162 | constlist[55] = SMOP__ID__name; | |
| 163 | constlist[56] = SMOP__ID__new; | |
| 164 | constlist[57] = SMOP__ID__next; | |
| 165 | constlist[58] = SMOP__ID__outer; | |
| 166 | constlist[59] = SMOP__ID__past; | |
| 167 | constlist[60] = SMOP__ID__perl; | |
| 168 | constlist[61] = SMOP__ID__positional; | |
| 169 | constlist[62] = SMOP__ID__postcircumfix_curly; | |
| 170 | constlist[63] = SMOP__ID__postcircumfix_parens; | |
| 171 | constlist[64] = SMOP__ID__postcircumfix_square; | |
| 172 | constlist[65] = SMOP__ID__postfix_plusplus; | |
| 173 | constlist[66] = SMOP__ID__prefix_equal; | |
| 174 | constlist[67] = SMOP__ID__private_name; | |
| 175 | constlist[68] = SMOP__ID__push; | |
| 176 | constlist[69] = SMOP__ID__register; | |
| 177 | constlist[70] = SMOP__ID__REPR_attributes; | |
| 178 | constlist[71] = SMOP__ID__REPR_bless; | |
| 179 | constlist[72] = SMOP__ID__REPR_can; | |
| 180 | constlist[73] = SMOP__ID__REPR_class_storage; | |
| 181 | constlist[74] = SMOP__ID__REPR_clone; | |
| 182 | constlist[75] = SMOP__ID__REPR_CREATE; | |
| 183 | constlist[76] = SMOP__ID__REPR_defined; | |
| 184 | constlist[77] = SMOP__ID__REPR_DESTROY; | |
| 185 | constlist[78] = SMOP__ID__REPR_destroy_instance_storage; | |
| 186 | constlist[79] = SMOP__ID__REPR_destroy_instance_storage_slot; | |
| 187 | constlist[80] = SMOP__ID__REPR_does; | |
| 188 | constlist[81] = SMOP__ID__REPR_has; | |
| 189 | constlist[82] = SMOP__ID__REPR_how; | |
| 190 | constlist[83] = SMOP__ID__REPR_initialize_instance_storage; | |
| 191 | constlist[84] = SMOP__ID__REPR_initialize_instance_storage_slot; | |
| 192 | constlist[85] = SMOP__ID__REPR_instance; | |
| 193 | constlist[86] = SMOP__ID__REPR_instanceof; | |
| 194 | constlist[87] = SMOP__ID__REPR_isa; | |
| 195 | constlist[88] = SMOP__ID__REPR_methods; | |
| 196 | constlist[89] = SMOP__ID__REPR_multimethods; | |
| 197 | constlist[90] = SMOP__ID__REPR_multisubmethods; | |
| 198 | constlist[91] = SMOP__ID__REPR_package; | |
| 199 | constlist[92] = SMOP__ID__REPR_private_storage; | |
| 200 | constlist[93] = SMOP__ID__REPR_properties; | |
| 201 | constlist[94] = SMOP__ID__REPR_submethods; | |
| 202 | constlist[95] = SMOP__ID__REPR_whence; | |
| 203 | constlist[96] = SMOP__ID__REPR_who; | |
| 204 | constlist[97] = SMOP__ID__responder; | |
| 205 | constlist[98] = SMOP__ID__result; | |
| 206 | constlist[99] = SMOP__ID__setr; | |
| 207 | constlist[100] = SMOP__ID__shift; | |
| 208 | constlist[101] = SMOP__ID__signature; | |
| 209 | constlist[102] = SMOP__ID__STORE; |