Définition des symboles de base

Pour définir des symboles, vous devez utiliser des expressions. L'agent évalue les expressions pour affecter des valeurs aux symboles.

Dans la balise <symbol>, utilisez les balises suivantes :
<name>
Nom du symbole. Il s'agit d'une chaîne qui doit commencer par le caractère $.
<eval>
Expression que l'agent doit évaluer pour produire la valeur de ce symbole. Pour plus d'informations sur la définition des expressions, voir Définition d'une expression.
<type>
Type de la valeur renvoyée par le symbole. Entrez cette valeur sous la forme d'un nom de classe Java™ complet ou d'une primitive Java. La définition du type de symbole est facultative. S'il n'est pas défini, l'associateur de demande essaye d'établir le type de zone en fonction de l'expression. Si l'associateur de demande ne peut pas déterminer le type de symbole avant qu'il évalue l'expression, les performances sont affectées. Pour optimiser les performances, il est donc préférable de spécifier le type.
<args>
Arguments associés au symbole. Cette balise est facultative ; si elle est définie, des arguments doivent être fournis pour calculer le symbole. Pour plus d'informations, voir Définition des arguments de symbole.

Exemple

<symbol>
   <name>$doubles1</name>
   <eval>$s1*2</eval>
   <type>int</type>
</symbol>

Ce symbole renvoie le double de la valeur d'un autre symbole, $s1.

Définition des arguments de symbole

Dans la balise <args> de la définition d'un symbole, vous pouvez définir les types d'arguments du symbole.

Dans cette balise, utilisez la balise <type> pour définir les types d'arguments. Entrez cette valeur sous la forme d'un nom de classe Java complet ou d'une primitive Java. Vous pouvez indiquer plusieurs balises <type> qui définissent chacune un argument.

Dans ce cas, le symbole doit être référencé avec des arguments entre parenthèses, comme suit :
$symbol(argument1,argument2...)
Le nombre d'arguments doit être identique au nombre de définitions de type d'argument.

Dans la définition de symbole, le premier argument correspond à $p0, le second argument correspond à $p1, etc.

Un symbole avec des arguments fonctionne comme une méthode Java. L'expression utilise les arguments comme des entrées et renvoie une valeur qui dépend des valeurs des arguments.

Exemple

<symbol>
   <name>$double</name>
   <eval>$p0*2</eval>
   <type>int</type>
   <args>
       <type>int</type>
   </args>
</symbol>
Ce symbole renvoie le double de la valeur de l'argument. Pour l'évaluer, indiquez un argument numérique : $double(2), $double($s1).