# Empty rows and #-comment rows are ignored.
+# Note that the order in this file is important.
+#
+# Add new regops to the end, and do not re-order the existing ops.
+#
+
# Exit points
END END, no End of program.
SUCCEED END, no Return from a subroutine, basically.
# [Special] alternatives
REG_ANY REG_ANY, no Match any one character (except newline).
SANY REG_ANY, no Match any one character.
+CANY REG_ANY, no Match any one byte.
ANYOF ANYOF, sv Match character in (or not in) this class.
ALNUM ALNUM, no Match any alphanumeric character
ALNUML ALNUM, no Match any alphanumeric char in locale
# 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.
+
+# Trie Related (behave the same as A|LIST|OF|WORDS would)
+TRIE TRIE, trie 1 Match many EXACT(FL?)? at once. flags==type
+TRIEC TRIE, trie 1 Trie + charclass. (unused at present)
+
+# 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.