Fonction Habilitation InterpreterFonction(NomFichierSource : Nul Ou Caractere, NomFonction : Nul Ou Caractere, Parametres : Nul Ou ListeDe Nul Ou Objet Entree Sortie) Retourner Nul Ou Objet;
Fonction Habilitation InterpreterFonction(NomFichierSource : Nul Ou Caractere, O : Nul Ou Objet, NomFonction : Nul Ou Caractere, Parametres : Nul Ou ListeDe Nul Ou Objet Entree Sortie) Retourner Nul Ou Objet;
Le paramètre NomFichierSource est le nom du fichier source en Up ! 5GL contenant la fonction à interpréter.
Le paramètre NomFonction est le nom de la fonction à interpréter.
Le paramètre O est l'objet sur lequel s'applique la méthode fonctionnelle.
Le paramètre Parametres est contient la liste des paramètres à transmettre à l'appel.
Si NomFichierSource, NomFonction ou O est Nul alors aucune interprétation n'a lieu.
En cas d'erreur, l'exception InterpretationImpossible est envoyée.
Type T
/****/
Fonction Ecrire1(C:Caractere) Retourner Booleen;
Fonction Ecrire2(C:Caractere) Retourner Entier;
Fonction Ecrire3(C:Caractere) Retourner Reel;
Fonction Ecrire4(C:Caractere) Retourner Caractere;
Constructeur();
Fin Type
/****************************************************************/
Fonction Ecrire1(C : Caractere) Retourner Booleen
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("Ecrire("+C");");
Retourner(Vrai);
Fin Fonction
/****************************************************************/
Fonction Ecrire2(C : Caractere) Retourner Entier
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("Ecrire("+C");");
Retourner(10);
Fin Fonction
/****************************************************************/
Fonction Ecrire3(C : Caractere) Retourner Reel
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("Ecrire("+C");");
Retourner(10.2);
Fin Fonction
/****************************************************************/
Fonction Ecrire4(C : Caractere) Retourner Caractere
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("Ecrire("+C");");
Retourner("hello");
Fin Fonction
/****************************************************************/
Fonction T.Ecrire1(C : Caractere) Retourner Booleen
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("T.Ecrire("+C");");
Retourner(Vrai);
Fin Fonction
/****************************************************************/
Fonction T.Ecrire2(C : Caractere) Retourner Entier
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("T.Ecrire("+C");");
Retourner(10);
Fin Fonction
/****************************************************************/
Fonction T.Ecrire3(C : Caractere) Retourner Reel
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("T.Ecrire("+C");");
Retourner(10.2);
Fin Fonction
/****************************************************************/
Fonction T.Ecrire4(C : Caractere) Retourner Caractere
/* Objet : Ecrit a l'écran. */
/****************************************************************/
Debut
Ecran.Ecrire("T.Ecrire("+C");");
Retourner("hello");
Fin Fonction
/****************************************************************/
Procedure EnvoyerErreur(MessageATraiter : Caractere, ? : Entier, ? : Entier, ? : Nul Ou Caractere)
/* Objet : Envoi un message d'erreur. */
/****************************************************************/
Debut
Ecran.Ecrire(MessageATraiter);
Fin Procedure
Principal
/*******/
Variable
/******/
L : Nul Ou ListeDe Nul Ou Objet;
V : T;
Debut
...
Si Non DebuterInterpretation(EnvoyerErreur) Alors
Retourner 1;
Fin Si
L=ListeDe("Bonjour");
Ecran.Ecrire(Caractere(Booleen(InterpreterFonction("moncomposant.upl", "Ecrire1", L)));
Ecran.Ecrire(Caractere(Booleen(InterpreterFonction("moncomposant.upl", V, "Ecrire1", L)));
Ecran.Ecrire(Caractere(Entier(InterpreterFonction("moncomposant.upl", "Ecrire2", L)));
Ecran.Ecrire(Caractere(Entier(InterpreterFonction("moncomposant.upl", V, "Ecrire2", L)));
Ecran.Ecrire(Caractere(Reel(InterpreterFonction("moncomposant.upl", "Ecrire3", L)));
Ecran.Ecrire(Caractere(Reel(InterpreterFonction("moncomposant.upl", V, "Ecrire3", L)));
Ecran.Ecrire(Caractere(InterpreterFonction("moncomposant.upl", "Ecrire4", L));
Ecran.Ecrire(Caractere(InterpreterFonction("moncomposant.upl", V, "Ecrire4", L));
TerminerInterpretation();
...
Fin Principal
InterpreterExpression pour interpréter une expression. InterpreterFonction pour interpréter une fonction. InterpreterInstruction pour interpréter une instruction. InterpreterProcedure pour interpréter une procédure.
- | - | - | - | - | - | - | - | - |