|
||||||||
Une expression est une combinaison d'expression
ou de valeurs, liées par des opérateurs du langage. Elle peut
être affectée à une variable ou utilisée comme
condition d'une structure conditionelle telle que if, while, etc... Il y a deux principaux types d'expressions en Scriptol, - les expressions relationnelles ou logiques qui retournent des valeurs booléennes (true or false, donc vrai ou faux), - et les expressions arithmétiques qui sont une combinaison de valeurs et d'opérateurs qui accomplissent des transformations sur les objets. Une valeur dans une expression peut être un littéral, une variable, un appel de fonction (si elle retourne une valeur)... Les opérateurs sont tous détaillés ce-dessous. Au contraire du C et des langages dérivés, une instruction n'est pas une expression en Scriptol. Ce principe, hérité du langage Bcpl amène est source de confusion quelquefois (utiliser = au lieu de == par exemple), et limite les possibilités de la syntaxe. Précédence Quelques langages de programmation on institué des règles de précédence, ainsi, quand les parenthèses sont omises, on sait quels termes sont concernés par chacun des opérateurs. Cependant, les parenthèses restent nécessaires à la lisibilité et les omettre peut induire en erreur, c'est pourquoi elles sont requises en Scriptol. Malgré tout, la précédence a été prise en compte dans la construction du parseur Scriptol, et même si des messages d'erreurs sont envoyés lorsque les parenthèses sont omises, le code généré fonctionne. Le seul cas ou la précédence est implicite sans les parenthèses, est avec les opérateurs unaires tels que not, ~, un opérateur unaire s'applique toujours au terme qui le suit. Par conséquent pour appliquer un opérateur unaire à une expression il faut qu'elle soit mise entre parenthèses.
|