var.ops - Variable Ops
These operations deal with both lexical and global variables,
as well as the symbol tables that contain them.
Operations to create,
modify and delete lexical variables.
- store_lex(in STR,
in 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.
Operations to modify global variables
- store_global(in STR,
in PMC)
- Store global $2 as global symbol $1
- store_global(in STR,
in STR,
in PMC)
- Store global $3 as global symbol $2 in namespace $1.
If namespace $1 doesn't exist it is created.
- store_global(in PMC,
in STR,
in PMC)
- Store global $3 as global symbol $2 in namespace $1.
- find_global(out PMC,
in STR)
- Find the global named $2 and store it in $1.
If the global doesn't exist either throws an exception or sets $1 to undef,
depending on current errors settings,
s.
errorson.
- find_global(out PMC,
in STR,
in STR)
- Find the global named $3 in namespace $2 and store it in $1.
If the global doesn't exist either throws an exception or sets $1 to undef,
depending on current errors settings,
s.
errorson.
- If $3 is NULL the namespace hash for namespace $2 is returned.
- find_global(out PMC,
in PMC,
in STR)
- Find the global named $3 in the namespace specified by $2 and store it in $1.
If the global doesn't exist either throws an exception or sets $1 to undef,
depending on current errors settings,
s.
errorson.
- find_name(out PMC,
in STR)
- Find the name $2 in lexical,
global or builtin namespace and store it in $1.
If the name doesn't exist either throws an exception or sets $1 to undef,
depending on current errors settings,
s.
errorson.
Copyright (C) 2001-2004 The Perl Foundation.
All rights reserved.
This program is free software.
It is subject to the same license as the Parrot interpreter itself.