summaryrefslogtreecommitdiff
path: root/opcode.pl
diff options
context:
space:
mode:
authorSimon Cozens <simon@netthink.co.uk>2001-04-11 13:59:31 +0100
committerJarkko Hietaniemi <jhi@iki.fi>2001-04-11 16:54:25 +0000
commit64b9952718c70e7b464c05a106b504b63f157e6e (patch)
tree1f9e976f197ffbb4baf1c8c9c4e196c013e01863 /opcode.pl
parent6e97e4200e8e581173200042c4e5ee08a8fcdd39 (diff)
downloadperl-64b9952718c70e7b464c05a106b504b63f157e6e.tar.gz
Documentation of table format
Message-ID: <20010411125931.A25681@netthink.co.uk> p4raw-id: //depot/perl@9686
Diffstat (limited to 'opcode.pl')
-rwxr-xr-xopcode.pl31
1 files changed, 31 insertions, 0 deletions
diff --git a/opcode.pl b/opcode.pl
index 5b0933effe..c435f425cb 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -364,6 +364,37 @@ __END__
# New ops always go at the very end
+# A recapitulation of the format of this file:
+# The file consists of five columns: the name of the op, an English
+# description, the name of the "check" routine used to optimize this
+# operation, some flags, and a description of the operands.
+
+# The flags consist of options followed by a mandatory op class signifier
+
+# The classes are:
+# baseop - 0 unop - 1 binop - 2
+# logop - | listop - @ pmop - /
+# padop/svop - $ padop - # (unused) loop - {
+# baseop/unop - % loopexop - } filestatop - -
+# pvop/svop - "
+
+# Other options are:
+# needs stack mark - m
+# needs constant folding - f
+# produces a scalar - s
+# produces an integer - i
+# needs a target - t
+# target can be in a pad - T
+# has a corresponding integer version - I
+# has side effects - d
+# uses $_ if no argument given - u
+
+# Values for the operands are:
+# scalar - S list - L array - A
+# hash - H sub (CV) - C file - F
+# socket - Fs filetest - F- reference - R
+# "?" denotes an optional operand.
+
# Nothing.
null null operation ck_null 0