+# For start classes, contains an added fail table.
+AHOCORASICK TRIE, trie 1 ; Aho Corasick stclass. flags==type
+AHOCORASICKC TRIE,trie charclass ; Same as AHOCORASICK, but with embedded charclass data
+
+#*Regex Subroutines (65..66)
+GOSUB GOSUB, num/ofs 2L ; recurse to paren arg1 at (signed) ofs arg2
+GOSTART GOSTART, no ; recurse to start of pattern
+
+#*Named references (67..69)
+NREF REF, no-sv 1 V ; Match some already matched string
+NREFF REF, no-sv 1 V ; Match already matched string, folded
+NREFFL REF, no-sv 1 V ; Match already matched string, folded in loc.
+
+
+#*Special conditionals (70..72)
+NGROUPP NGROUPP, no-sv 1 ; Whether the group matched.
+INSUBP INSUBP, num 1 ; Whether we are in a specific recurse.
+DEFINEP DEFINEP, none 1 ; Never execute directly.
+
+#*Bactracking Verbs
+ENDLIKE ENDLIKE, none ; Used only for the type field of verbs
+OPFAIL ENDLIKE, none ; Same as (?!)
+ACCEPT ENDLIKE, parno 1 ; Accepts the current matched string.
+
+
+#*Verbs With Arguments
+VERB VERB, no-sv 1 ; Used only for the type field of verbs
+PRUNE VERB, no-sv 1 ; Pattern fails at this startpoint if no-backtracking through this
+MARKPOINT VERB, no-sv 1 ; Push the current location for rollback by cut.
+SKIP VERB, no-sv 1 ; On failure skip forward (to the mark) before retrying
+COMMIT VERB, no-sv 1 ; Pattern fails outright if backtracking through this
+CUTGROUP VERB, no-sv 1 ; On failure go to the next alternation in the group
+
+#*Control what to keep in $&.
+KEEPS KEEPS, no ; $& begins here.
+
+#*New charclass like patterns
+LNBREAK LNBREAK, none ; generic newline pattern
+VERTWS VERTWS, none 0 S ; vertical whitespace (Perl 6)
+NVERTWS NVERTWS, none 0 S ; not vertical whitespace (Perl 6)
+HORIZWS HORIZWS, none 0 S ; horizontal whitespace (Perl 6)
+NHORIZWS NHORIZWS, none 0 S ; not horizontal whitespace (Perl 6)
+
+FOLDCHAR FOLDCHAR, codepoint 1 ; codepoint with tricky case folding properties.
+
+# NEW STUFF ABOVE THIS LINE
+
+################################################################################
+
+#*SPECIAL REGOPS
+
+# This is not really a node, but an optimized away piece of a "long" node.
+# To simplify debugging output, we mark it as if it were a node
+OPTIMIZED NOTHING, off ; Placeholder for dump.
+
+# Special opcode with the property that no opcode in a compiled program
+# will ever be of this type. Thus it can be used as a flag value that
+# no other opcode has been seen. END is used similarly, in that an END
+# node cant be optimized. So END implies "unoptimizable" and PSEUDO mean
+# "not seen anything to optimize yet".
+PSEUDO PSEUDO, off ; Pseudo opcode for internal use.
+
+-------------------------------------------------------------------------------
+# Format for second section:
+# REGOP \t typelist [ \t typelist] [# Comment]
+# typelist= namelist
+# = namelist:FAIL
+# = name:count
+
+# Anything below is a state
+#
+#
+TRIE next:FAIL
+EVAL AB:FAIL
+CURLYX end:FAIL
+WHILEM A_pre,A_min,A_max,B_min,B_max:FAIL
+BRANCH next:FAIL
+CURLYM A,B:FAIL
+IFMATCH A:FAIL
+CURLY B_min_known,B_min,B_max:FAIL
+COMMIT next:FAIL
+MARKPOINT next:FAIL
+SKIP next:FAIL
+CUTGROUP next:FAIL
+KEEPS next:FAIL