Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > d92aa75c2d384ff9f513aed09a46f703 > files > 221

parrot-doc-3.1.0-2.mga1.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Parrot  - Assignment Opcodes</title>
        <link rel="stylesheet" type="text/css"
            href="../../../resources/parrot.css"
            media="all">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    </head>
    <body>
        <div id="wrapper">
            <div id="header">

                <a href="http://www.parrot.org">
                <img border=0 src="../../../resources/parrot_logo.png" id="logo" alt="parrot">
                </a>
            </div> <!-- "header" -->
            <div id="divider"></div>
            <div id="mainbody">
                <div id="breadcrumb">
                    <a href="../../../html/index.html">Home</a> &raquo; <a href="../../../html/ops.html">Opcodes</a> &raquo; Assignment Opcodes
                </div>

<h1><a name="NAME"
>NAME</a></h1>

<p>set.ops &#45; Assignment Opcodes</p>

<h1><a name="DESCRIPTION"
>DESCRIPTION</a></h1>

<p>These operations all set registers to various values.</p>

<p>When making changes to any ops file,
run <code>make bootstrap&#45;ops</code> to regenerate all generated ops files.</p>

<dl>
<dt><a name="clone(out_STR,_in_STR)"
><b>clone</b>(out STR,
in STR)</a></dt>
Effectively the same as set $1,
$2,
except that if $2 is a null STRING,
$1 gets a new empty string instead.
<dt><a name="set(out_INT,_in_INT)"
><b>set</b>(out INT,
in INT)</a></dt>

<dt><a name="set(out_INT,_in_NUM)"
><b>set</b>(out INT,
in NUM)</a></dt>
A floating&#45;point number is truncated (rounded toward zero) when assigned to an integer register.
<dt><a name="set(out_INT,_invar_PMC)"
><b>set</b>(out INT,
invar PMC)</a></dt>

<dt><a name="set(out_INT,_invar_PMC)"
><b>set</b>(out INT,
invar PMC)</a></dt>

<dt><a name="set(out_INT,_in_STR)"
><b>set</b>(out INT,
in STR)</a></dt>

<dt><a name="set(out_NUM,_in_INT)"
><b>set</b>(out NUM,
in INT)</a></dt>

<dt><a name="set(out_NUM,_in_NUM)"
><b>set</b>(out NUM,
in NUM)</a></dt>

<dt><a name="set(out_NUM,_invar_PMC)"
><b>set</b>(out NUM,
invar PMC)</a></dt>

<dt><a name="set(out_NUM,_in_STR)"
><b>set</b>(out NUM,
in STR)</a></dt>

<dt><a name="set(invar_PMC,_in_INT)"
><b>set</b>(invar PMC,
in INT)</a></dt>

<dt><a name="set(invar_PMC,_in_NUM)"
><b>set</b>(invar PMC,
in NUM)</a></dt>

<dt><a name="set(out_PMC,_invar_PMC)"
><b>set</b>(out PMC,
invar PMC)</a></dt>

<dt><a name="set(invar_PMC,_invar_STR)"
><b>set</b>(invar PMC,
invar STR)</a></dt>

<dt><a name="set(out_STR,_in_INT)"
><b>set</b>(out STR,
in INT)</a></dt>

<dt><a name="set(out_STR,_in_NUM)"
><b>set</b>(out STR,
in NUM)</a></dt>

<dt><a name="set(out_STR,_invar_PMC)"
><b>set</b>(out STR,
invar PMC)</a></dt>

<dt><a name="set(out_STR,_inconst_STR)"
><b>set</b>(out STR,
inconst STR)</a></dt>

<dt><a name="set(out_STR,_invar_STR)"
><b>set</b>(out STR,
invar STR)</a></dt>

<dt><a name="set(out_PMC,_inconst_PMC)"
><b>set</b>(out PMC,
inconst PMC)</a></dt>

<dt><a name="set(invar_PMC,_inconst_STR)"
><b>set</b>(invar PMC,
inconst STR)</a></dt>
Set $1 to $2.</dl>

<h2><a name="PMC_assignment_operations:_Px_=_x"
>PMC assignment operations: Px = x</a></h2>

<dl>
<dt><a name="assign(invar_PMC,_in_INT)"
><b>assign</b>(invar PMC,
in INT)</a></dt>

<dt><a name="assign(invar_PMC,_in_NUM)"
><b>assign</b>(invar PMC,
in NUM)</a></dt>
Assign a new value $2,
to PMC $1.
Same as the equivalent <b>set</b> opcodes.
<dt><a name="assign(invar_PMC,_in_STR)"
><b>assign</b>(invar PMC,
in STR)</a></dt>

<dt><a name="assign(invar_PMC,_invar_PMC)"
><b>assign</b>(invar PMC,
invar PMC)</a></dt>
Assign a new value $2,
to PMC $1 by copying the value.
<dt><a name="assign(out_STR,_in_STR)"
><b>assign</b>(out STR,
in STR)</a></dt>
Assign a new value to a string by reusing the string header.
<dt><a name="setref(invar_PMC,_invar_PMC)"
><b>setref</b>(invar PMC,
invar PMC)</a></dt>
Make $1 refer to $2 by calling <code>set_pmc</code>.
<dt><a name="deref(out_PMC,_invar_PMC)"
><b>deref</b>(out PMC,
invar PMC)</a></dt>
Not strictly an assignment operation: Put into $1 the PMC that the reference PMC $2 refers to.</dl>

<h2><a name="Keyed_set_operations:_Px[_INTKEY_]_=_Bx"
>Keyed set operations: Px[ INTKEY ] = Bx</a></h2>

<dl>
<dt><a name="set(invar_PMC,_in_INTKEY,_in_INT)"
><b>set</b>(invar PMC,
in INTKEY,
in INT)</a></dt>

<dt><a name="set(invar_PMC,_in_INTKEY,_in_NUM)"
><b>set</b>(invar PMC,
in INTKEY,
in NUM)</a></dt>

<dt><a name="set(invar_PMC,_in_INTKEY,_in_STR)"
><b>set</b>(invar PMC,
in INTKEY,
in STR)</a></dt>

<dt><a name="set(invar_PMC,_in_INTKEY,_invar_PMC)"
><b>set</b>(invar PMC,
in INTKEY,
invar PMC)</a></dt>
</dl>

<h2><a name="Keyed_get_operations:_Ax_=_Px[_INTKEY_]"
>Keyed get operations: Ax = Px[ INTKEY ]</a></h2>

<dl>
<dt><a name="set(out_INT,_invar_PMC,_in_INTKEY)"
><b>set</b>(out INT,
invar PMC,
in INTKEY)</a></dt>

<dt><a name="set(out_NUM,_invar_PMC,_in_INTKEY)"
><b>set</b>(out NUM,
invar PMC,
in INTKEY)</a></dt>

<dt><a name="set(out_STR,_invar_PMC,_in_INTKEY)"
><b>set</b>(out STR,
invar PMC,
in INTKEY)</a></dt>

<dt><a name="set(out_PMC,_invar_PMC,_in_INTKEY)"
><b>set</b>(out PMC,
invar PMC,
in INTKEY)</a></dt>
</dl>

<h2><a name="Keyed_set_operations:_Px[_KEY_]_=_Bx"
>Keyed set operations: Px[ KEY ] = Bx</a></h2>

<dl>
<dt><a name="set(invar_PMC,_in_KEY,_in_INT)"
><b>set</b>(invar PMC,
in KEY,
in INT)</a></dt>

<dt><a name="set(invar_PMC,_in_KEY,_in_NUM)"
><b>set</b>(invar PMC,
in KEY,
in NUM)</a></dt>

<dt><a name="set(invar_PMC,_in_KEY,_in_STR)"
><b>set</b>(invar PMC,
in KEY,
in STR)</a></dt>

<dt><a name="set(invar_PMC,_in_KEY,_invar_PMC)"
><b>set</b>(invar PMC,
in KEY,
invar PMC)</a></dt>
</dl>

<h2><a name="Keyed_get_operations:_Ax_=_Px[_KEY_]"
>Keyed get operations: Ax = Px[ KEY ]</a></h2>

<dl>
<dt><a name="set(out_INT,_invar_PMC,_in_KEY)"
><b>set</b>(out INT,
invar PMC,
in KEY)</a></dt>

<dt><a name="set(out_NUM,_invar_PMC,_in_KEY)"
><b>set</b>(out NUM,
invar PMC,
in KEY)</a></dt>

<dt><a name="set(out_STR,_invar_PMC,_in_KEY)"
><b>set</b>(out STR,
invar PMC,
in KEY)</a></dt>

<dt><a name="set(out_PMC,_invar_PMC,_in_KEY)"
><b>set</b>(out PMC,
invar PMC,
in KEY)</a></dt>

<dt><a name="clone(out_PMC,_invar_PMC)"
><b>clone</b>(out PMC,
invar PMC)</a></dt>
Makes a copy of the PMC in $2 and puts it in $1.
<dt><a name="clone(out_PMC,_invar_PMC,_in_PMC)"
><b>clone</b>(out PMC,
invar PMC,
in PMC)</a></dt>
Makes a copy of the PMC in $2 and puts it in $1,
using the arguments in $3.
<dt><a name="copy(inout_PMC,_invar_PMC)"
><b>copy</b>(inout PMC,
invar PMC)</a></dt>
Morphs the PMC in $1 to the type of the PMC in $2,
then assigns $2 to $1.</dl>

<h2><a name="Register_operations"
>Register operations</a></h2>

<p>These operations effect entire sets of registers.</p>

<dl>
<dt><a name="null(out_INT)"
><b>null</b>(out INT)</a></dt>

<dt><a name="null(out_NUM)"
><b>null</b>(out NUM)</a></dt>
Set register $1 to zero.
<dt><a name="null(out_STR)"
><b>null</b>(out STR)</a></dt>
Set register $1 to a NULL string value.
<dt><a name="null(out_PMC)"
><b>null</b>(out PMC)</a></dt>
Set register $1 to PMCNULL.</dl>

<h1><a name="COPYRIGHT"
>COPYRIGHT</a></h1>

<p>Copyright (C) 2001&#45;2010,
Parrot Foundation.</p>

<h1><a name="LICENSE"
>LICENSE</a></h1>

<p>This program is free software.
It is subject to the same license as the Parrot interpreter itself.</p>
            </div> <!-- "mainbody" -->
            <div id="divider"></div>
            <div id="footer">
	        Copyright &copy; 2002-2011, Parrot Foundation.
            </div>
        </div> <!-- "wrapper" -->
    </body>
</html>