Index: /trunk/mkopcode.awk
===================================================================
--- /trunk/mkopcode.awk	(revision 5)
+++ /trunk/mkopcode.awk	(revision 41)
@@ -5,5 +5,4 @@
 	FS=" "
 	max = 0;
-	delete opcodes;
 }
 
@@ -11,10 +10,16 @@
 	# regex from php5.1+/Zend/zend_vm_gen.php
 	gsub(/ +/, "");
-	if (!match($0, /^ZEND_VM_HANDLER\(([0-9]+),([A-Z_]+),([A-Z|]+),([A-Z|]+)\)/, array)) {
+	if (!match($0, /^ZEND_VM_HANDLER\(([0-9]+),([A-Z_]+),([A-Z|]+),([A-Z|]+)\)/)) {
 		print "error unmatch $0";
 		exit;
 	}
-	id = 0 + array[1];
-	name = array[2];
+	# life is hard without 3rd argument of match()
+	sub(/^ZEND_VM_HANDLER\(/, "");
+	id = $0;
+	sub(/,.*/, "", id); # chop
+	id = 0 + id;
+	sub(/^([0-9]+),/, "");
+	sub(/,.*/, ""); # chop
+	name = $0;
 	if (max < id) {
 		max = id;
Index: /trunk/mkopcode_spec.awk
===================================================================
--- /trunk/mkopcode_spec.awk	(revision 5)
+++ /trunk/mkopcode_spec.awk	(revision 41)
@@ -6,5 +6,4 @@
 	max = 0;
 	started = 0
-	delete opcodes;
 }
 
