NAME

Parrot::Op

SYNOPSIS

use Parrot::Op;

DESCRIPTION

Represents a Parrot operation (op, for short).

arg_type

Returns a particular argument type.

arg_types

Returns the entire argument type list.

body =head2 body BODY

Sets or returns the op's code body. If no BODY is given, the body is returned. If BODY is given, then the body is set.

full_body

For manual ops, full_body is the same as body. For auto ops, full_body adds a final {{+=S}} line to the code to represent the auto-computed return value (S is the op size).

full_name

For argumentless ops, it's the same as name. For ops with arguments, an underscore followed by underscore-separated argument types are appended to the name.

func_name

The same as full_name, but with "Parrot_" prefixed.

name

The (short or root) name of the op.

new TYPE, NAME, ARG_TYPE_LIST

Allocates a new bodyless op. A body must be provided eventually for the op to be usable. See body.

source RET_ABS_SUB RET_REL_SUB ARG_SUB RES_SUB

Returns the full_body of the op with substitutions made for the PC-modifying and argument-access placeholders.

type

The type of the op, 'auto' or 'manual'. Manual ops are responsible for having explicit next-op RETURNs, while Auto ops can count on an automatically generated next-op to be appended. See also full_body.

AUTHORS

Gregor N. Purdy <gregor@focusresearch.com>

LICENSE

This program is free software. It is subject to the same license as Parrot itself.

COPYRIGHT

Copyright (C) 2001 Gregor N. Purdy. All rights reserved.