From: Simon Cozens <simon@netthink.co.uk>
Date: Wed, 11 Apr 2001 12:59:31 +0000 (+0100)
Subject: Documentation of table format
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=64b9952718c70e7b464c05a106b504b63f157e6e;p=p5sagit%2Fp5-mst-13.2.git

Documentation of table format
Message-ID: <20010411125931.A25681@netthink.co.uk>

p4raw-id: //depot/perl@9686
---

diff --git a/opcode.pl b/opcode.pl
index 5b0933e..c435f42 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