From: Simon Cozens 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