/****************************************************************/
Type Appel Defaut Final TailleSegment 8 ConserverObjets
/* Objet : Definition du type Appel. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
ModuleOrigine : Nul Ou Module Lecture Public;
NomAppel : Caractere Lecture Public Trace;
TypeOrigine : Nul Ou Type Lecture Public Trace;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Operateur Optimiser(Invariant, NulAbsorbant) ==(A : Nul Ou Appel) Retourner Nul Ou Booleen;
Operateur Optimiser(Invariant, NulAbsorbant) !=(A : Nul Ou Appel) Retourner Nul Ou Booleen;
Fonction Optimiser(Invariant) EnumererParametres(Numero : Entier, TypeParametre : Nul Ou Type=? Sortie, EstNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie, SorteDuParametre : SorteParametre=? Sortie, IlExisteValeurParDefaut : Booleen=? Sortie) Retourner Nul Ou Caractere;
Procedure ExecuterProcedure(Parametres : Nul Ou ListeDe Nul Ou Objet Entree Sortie);
Fonction ExecuterFonction(Parametres : Nul Ou ListeDe Nul Ou Objet Entree Sortie) Retourner Nul Ou Objet;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type Appel modélise un objet du type procédure, fonction, méthode procédurale ou méthode fonctionnelle.
Le type Appel ne possède pas de constructeur implicite.
=
pour l'affectation d'un appel dans un autre appel. Les prototypes doivent être identiques.
==
pour l'égalité entre deux appels. Les prototypes doivent être identiques. Le résultat est un booléen.
!=
pour l'inégalité entre deux appels. Les prototypes doivent être identiques. Le résultat est un booléen.
/****************************************************************/
Procedure P()
/* Objet : Procédure quelconque. */
/****************************************************************/
Debut
...
Fin Procedure
/****************************************************************/
Fonction F() Retourner Caractere
/* Objet : Fonction quelconque. */
/****************************************************************/
Debut
...
Fin Fonction
Principal
/*******/
Variable
/******/
A : Nul Ou Procedure();
B : Nul Ou Fonction(A : Entier) Retourner Caractere;
Debut
A=P;
A();
/* Evaluation de la variable A. */
B=F;
Ecran.Ecrire(B(10));
/* Evaluation de la variable B. */
Fin Principal
- | - | - | - | - | - | - | - | - |