Analyser
Fonction
Rôle : |
Analyse syntaxique d'une expression ou d'une suite d'instructions. |
Syntaxe : |
Analyser (<expression alphanumérique>) |
Type de retour : |
Numérique |
Notes : |
La fonction analyse l'expression ou la suite d'instructions contenue dans l'expression alphanumérique. Elle est utile pour analyser syntaxiquement une expression avant son interprétation, mais elle ne vérifie pas l'existence d'une variable ou d'un champ compris dans l'expression.
• Si l'expression alphanumérique contient une expression ou une fonction, c'est le résultat de cette dernière qui sera rendu.
• Si l'expression alphanumérique contient une suite d'instructions, c'est le résultat de la dernière affectation exécutée qui sera rendu.
Attention : Les variables utilisées dans l'expression doivent être déclarées au niveau de l'objet et non dans la méthode.
Cette fonction retourne un code d'erreur :
- elle rend 0 s'il y a une erreur syntaxique,
- elle rend 1 si l'expression est correcte,
- elle rend 2 si l'expression contient un identificateur de variables simples,
- elle rend 3 si l'expression contient une variable indicée (Exemple: t(c) avec t un tableau et c un entier),
- elle rend 4 si l'expression contient une variable indicée dont l'indice est une constante (Exemple: t(1)).
|
|
Exemple :
Domaine : ESSAI "Analyse de formules"
Objet SAISIE : INTERPF
Declaration
ECRAN : ART1
VARIABLES :
Chaine formule ("formule à exécuter")
Double marge ("marge")
FinDeclaration
Methode DEBUT
Si Lire(FORM.CODE,EgalA,"MARGE") Alors
formule=FORM.TEXTE
Sinon
formule="PVM-PA" //Formule par défaut
FinSi
Methode DEBUT_VISUALISATION
Si Analyser (formule) Alors
marge = Interpreter (formule)
FinSi
FinMethode
FinObjet
Après l'appel à la méthode DEBUT_VISUALISATION :
Dans la méthode DEBUT, on lit la formule dans la table FORM si elle existe, sinon on prépare la formule par défaut. On analyse la formule et on calcule la marge en début de visualisation.