Updated.
[p5sagit/p5-mst-13.2.git] / opcode.pl
index 1a2d5a7..f1da5b6 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -21,7 +21,14 @@ while (<DATA>) {
 # Emit defines.
 
 $i = 0;
-print "typedef enum {\n";
+print <<"END";
+#define pp_i_preinc pp_preinc
+#define pp_i_predec pp_predec
+#define pp_i_postinc pp_postinc
+#define pp_i_postdec pp_postdec
+
+typedef enum {
+END
 for (@ops) {
     print "\t", &tab(3,"OP_\U$_,"), "/* ", $i++, " */\n";
 }
@@ -169,10 +176,10 @@ const             constant item           ck_svconst      s
 
 gvsv           scalar variable         ck_null         ds      
 gv             glob value              ck_null         ds      
-padsv          private variable        ck_null         s
-padav          private array           ck_null         0
-padhv          private hash            ck_null         0
-padany         private something       ck_null         0
+padsv          private variable        ck_null         ds
+padav          private array           ck_null         d
+padhv          private hash            ck_null         d
+padany         private something       ck_null         d
 
 pushre         push regexp             ck_null         0
 
@@ -375,7 +382,7 @@ flop                range (or flop)         ck_null         0
 and            logical and             ck_null         0       
 or             logical or              ck_null         0       
 xor            logical xor             ck_null         fs      S S     
-cond_expr      conditional expression  ck_null         0       
+cond_expr      conditional expression  ck_null         d       
 andassign      logical and assignment  ck_null         s       
 orassign       logical or assignment   ck_null         s       
 
@@ -398,7 +405,7 @@ enteriter   foreach loop entry      ck_null         d
 iter           foreach loop iterator   ck_null         0       
 enterloop      loop entry              ck_null         d       
 leaveloop      loop exit               ck_null         0       
-return         return                  ck_fun          dm      L
+return         return                  ck_null         dm      L
 last           last                    ck_null         ds      
 next           next                    ck_null         ds      
 redo           redo                    ck_null         ds      
@@ -551,7 +558,7 @@ sleep               sleep                   ck_fun          ist     S?
 shmget         shmget                  ck_fun          imst    S S S
 shmctl         shmctl                  ck_fun          imst    S S S
 shmread                shmread                 ck_fun          imst    S S S S
-shmwrite       shmwrite                ck_fun          ist     S S S S
+shmwrite       shmwrite                ck_fun          imst    S S S S
 
 # Message passing.