NAME ^

var.ops - Variable Ops

DESCRIPTION ^

These operations deal with both lexical and global variables, as well as the symbol tables that contain them.

Lexical variable ops ^

Operations to create, modify and delete lexical variables.

store_lex(in STR, invar PMC)

Store object $2 as lexical symbol $1. The opcode might succeed or throw an exception on unknown lexical names depending on the implementation of the LexPad PMC. Parrot's LexPad throws an exception for unknown names.

find_lex(out PMC, in STR)

Find the lexical variable named $2 and store it in $1. This opcode either throws an exception or returns a Null PMC for the failure case, depending on the implementation of the LexPad PMC. Parrot's standard LexPad throws and exception for non-existing names.

Namespace opcodes ^

get_namespace(out PMC)

Set $1 to the current namespace.

get_namespace(out PMC, in PMC)

Set $1 to the namespace denoted by the key constant $2, relative to the current namespace. If the namespace doesn't exist, $1 is set to null.

get_hll_namespace(out PMC)

Set $1 to the current HLL root namespace.

get_hll_namespace(out PMC, in PMC)

Set $1 to the namespace denoted by the key constant $2, relative to the current HLL root namespace. If the namespace doesn't exist, $1 is set to null.

get_root_namespace(out PMC)

Set $1 to the true root namespace.

get_root_namespace(out PMC, in PMC)

Set $1 to the namespace denoted by the key constant $2, relative to the true root namespace. If the namespace doesn't exist, $1 is set to null.

Global variable 'get' opcodes ^

get_global(out PMC, in STR)

Set $1 to the global named $2 in current namespace. If the global doesn't exist, $1 is set to null.

get_global(out PMC, in PMC, in STR)

Set $1 to the global named $3 in the namespace denoted by the key constant $2, relative to the current namespace. If the namespace or the global doesn't exist, $1 is set to null.

get_hll_global(out PMC, in STR)

Set $1 to the global named $2 in the current HLL root namespace. If the global doesn't exist, $1 is set to null.

get_hll_global(out PMC, in PMC, in STR)

Set $1 to the global named $3 in the namespace denoted by the key constant $2, relative to the current HLL root namespace. If the namespace or the global doesn't exist, $1 is set to null.

get_root_global(out PMC, in STR)

Set $1 to the global named $2 in the true root namespace. If the global doesn't exist, $1 is set to null.

get_root_global(out PMC, in PMC, in STR)

Set $1 to the global named $3 in the namespace denoted by the key constant $2, relative to the true root namespace. If the namespace or the global doesn't exist, $1 is set to null.

Global variable 'set' opcodes ^

set_global(in STR, invar PMC)

Set the global named $1 in the current namespace to $2.

set_global(in PMC, in STR, invar PMC)

Set the global named $2 in the namespace denoted by the key constant $1, relative to the current namespace, to $3. If the namespace does not exist, it is created.

set_hll_global(in STR, invar PMC)

Set the global named $1 to $2 in the current HLL root namespace.

set_hll_global(in PMC, in STR, invar PMC)

Set the global named $2 in the namespace denoted by the key constant $1 (relative to the current HLL namespace) to $3. If the namespace does not exist, it is created.

set_root_global(in STR, invar PMC)

Set the global named $1 in the true root namespace to $2.

set_root_global(in PMC, in STR, invar PMC)

Set the global named $2 in the namespace denoted by the key constant $1 (relative to the true root namespace) to $3. If the namespace does not exist, it is created.

Deprecated global variable ops ^

Operations to modify global variables

store_global(in STR, invar PMC)

Store value $2 as global symbol $1 in the current namespace.

store_global(in STR, in STR, invar PMC)

store_global(in PMC, in STR, invar PMC)

Store global $3 as global symbol $2 in namespace designated by $1. If namespace does not exist, create it. $1 may be a key, a string, or an array of strings.

find_global(out PMC, in STR)

Find the global named $2 in the current namespace and store it in $1.

If the global doesn't exist either throws an exception or sets $1 to the Null PMC, depending on current errors settings. See errorson.

find_global(out PMC, in STR, in STR)

Find the global named $3 in the namespace named $2 and store it in $1.

If the global doesn't exist either throws an exception or sets $1 to the Null PMC, depending on current errors settings. See errorson.

find_global(out PMC, in PMC, in STR)

Find the global named $3 in the namespace designated by $2 and store it in $1. $2 may be a key, a string, or an array of strings.

If the global doesn't exist either throws an exception or sets $1 to the Null PMC, depending on current errors settings. See errorson.

find_name(out PMC, in STR)

Find the name $2 in lexical, current, global, or builtin namespace and store it in $1. If the name doesn't exist either throws an exception or sets $1 to PMCNULL, depending on current errors settings. See errorson.

###############################################################################

COPYRIGHT ^

Copyright (C) 2001-2006, The Perl Foundation.

LICENSE ^

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


parrot