Upgrade to Text-Tabs+Wrap-2006.0711. Keep the local changes from
[p5sagit/p5-mst-13.2.git] / regcomp.sym
index 59284f4..1a2bd31 100644 (file)
@@ -3,6 +3,11 @@
 
 # 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.
@@ -24,6 +29,7 @@ GPOS          GPOS,   no      Matches where last m//g left off.
 # [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
@@ -113,3 +119,14 @@ RENUM              BRANCHJ,off 1 1 Group with independently numbered parens.
 # 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.