Unicode data updated to be the latest beta of the Unicode 3.0.
[p5sagit/p5-mst-13.2.git] / opcode.pl
index cd0c7eb..6e56a10 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -166,17 +166,16 @@ END
     '1',  1,           # unop
     '2',  2,           # binop
     '|',  3,           # logop
-    '?',  4,           # condop
-    '@',  5,           # listop
-    '/',  6,           # pmop
-    '$',  7,           # svop
-    '*',  8,           # gvop
-    '"',  9,           # pvop_or_svop
-    '{',  10,          # loop
-    ';',  11,          # cop
-    '%',  12,          # baseop_or_unop
-    '-',  13,          # filestatop
-    '}',  14,          # loopexop
+    '@',  4,           # listop
+    '/',  5,           # pmop
+    '$',  6,           # svop
+    '*',  7,           # gvop
+    '"',  8,           # pvop_or_svop
+    '{',  9,           # loop
+    ';',  10,          # cop
+    '%',  11,          # baseop_or_unop
+    '-',  12,          # filestatop
+    '}',  13,          # loopexop
 );
 
 for (@ops) {
@@ -302,6 +301,8 @@ sub tab {
 
 __END__
 
+# New ops always go at the very end
+
 # Nothing.
 
 null           null operation          ck_null         0       
@@ -482,7 +483,7 @@ aslice              array slice             ck_null         m@      A L
 
 # Hashes.
 
-each           each                    ck_fun          t%      H
+each           each                    ck_fun          %       H
 values         values                  ck_fun          t%      H
 keys           keys                    ck_fun          t%      H
 delete         delete                  ck_delete       %       S
@@ -521,7 +522,7 @@ mapwhile    map iterator            ck_null         dt|
 
 # Range stuff.
 
-range          flipflop                ck_null         ?       S S
+range          flipflop                ck_null         |       S S
 flip           range (or flip)         ck_null         1       S S
 flop           range (or flop)         ck_null         1
 
@@ -529,12 +530,12 @@ flop              range (or flop)         ck_null         1
 
 and            logical and             ck_null         |       
 or             logical or              ck_null         |       
-xor            logical xor             ck_null         fs|     S S     
-cond_expr      conditional expression  ck_null         d?      
+xor            logical xor             ck_null         fs2     S S     
+cond_expr      conditional expression  ck_null         d|      
 andassign      logical and assignment  ck_null         s|      
 orassign       logical or assignment   ck_null         s|      
 
-method         method lookup           ck_null         d1
+method         method lookup           ck_method       d1
 entersub       subroutine entry        ck_subr         dmt1    L
 leavesub       subroutine exit         ck_null         1       
 caller         caller                  ck_fun          t%      S?
@@ -560,13 +561,14 @@ redo              redo                    ck_null         ds}
 dump           dump                    ck_null         ds}     
 goto           goto                    ck_null         ds}     
 exit           exit                    ck_fun          ds%     S?
+# continued below
 
 #nswitch               numeric switch          ck_null         d       
 #cswitch               character switch        ck_null         d       
 
 # I/O.
 
-open           open                    ck_fun          ist@    F S?
+open           open                    ck_fun          ist@    F S? S?
 close          close                   ck_fun          is%     F?
 pipe_op                pipe                    ck_fun          is@     F F
 
@@ -776,3 +778,7 @@ syscall             syscall                 ck_fun          imst@   S L
 # For multi-threading
 lock           lock                    ck_rfun         s%      S
 threadsv       per-thread variable     ck_null         ds0
+
+# Control (contd.)
+setstate       set statement info      ck_null         s;
+method_named   method with known name  ck_null         d$