Optimisation du code

Ce programme présente les directives d'optimisation du code d'Up ! 5GL.

Le fichier source est ${UPS_HOME}/upssdk/demo/${UPS_LANGUAGE}/optimiser.upl.

Mode compilé

Commande de compilation

upscmp Source=optimiser.upl

Commande d'exécution

optimiser

Mode interprété

upssng Source=optimiser.upl

Fichier source

Source Composant "Exemple de l'emploi de l'optimisation de code" Version 4.0.0;

Procedure Optimiser(FactoriserChaine, FactoriserCode) MaProcedure1()
/******************************************************************/
Variable
/******/
Debut
A="A";
B="B";
Ecran.Ecrire("MaProcedure1()");
Pour I=1 JusquA 3 Faire Fin Pour
Ecran.Ecrire(C);
Ecran.Ecrire(D);
Ecran.Ecrire(");
Fin Procedure

Procedure Optimiser(NePasFactoriserChaine, FactoriserCode) MaProcedure2()
/***********************************************************************/
Variable
/******/
Debut
A="A";
B="B";
Ecran.Ecrire("MaProcedure2()");
Pour I=1 JusquA 3 Faire Fin Pour
Ecran.Ecrire(C);
Ecran.Ecrire(D);
Ecran.Ecrire(");
Fin Procedure

Procedure Optimiser(FactoriserChaine, NePasFactoriserCode) MaProcedure3()
/***********************************************************************/
Variable
/******/
Debut
A="A";
B="B";
Ecran.Ecrire("MaProcedure3()");
Pour I=1 JusquA 3 Faire Fin Pour
Ecran.Ecrire(C);
Ecran.Ecrire(D);
Ecran.Ecrire(");
Fin Procedure

Procedure Optimiser(NePasFactoriserChaine, NePasFactoriserCode) MaProcedure4()
/****************************************************************************/
Variable
/******/
Debut
A="A";
B="B";
Ecran.Ecrire("MaProcedure4()");
Pour I=1 JusquA 3 Faire Fin Pour
Ecran.Ecrire(C);
Ecran.Ecrire(D);
Ecran.Ecrire(");
Fin Procedure

Principal
/*******/
Debut
MaProcedure1();
MaProcedure2();
MaProcedure3();
MaProcedure4();
Fin Principal

Résultat de l'exécution

MaProcedure1() I=1 --- J=1 J=2 J=3 J=4 I=2 --- J=2 J=3 J=4 J=5 I=3 --- J=3 J=4 J=5 J=6 C=AB; D=BA; MaProcedure2() I=1 --- J=1 J=2 J=3 J=4 I=2 --- J=2 J=3 J=4 J=5 I=3 --- J=3 J=4 J=5 J=6 C=AB; D=BA; MaProcedure3() I=1 --- J=1 J=2 J=3 J=4 I=2 --- J=2 J=3 J=4 J=5 I=3 --- J=3 J=4 J=5 J=6 C=AB; D=BA; MaProcedure4() I=1 --- J=1 J=2 J=3 J=4 I=2 --- J=2 J=3 J=4 J=5 I=3 --- J=3 J=4 J=5 J=6 C=AB; D=BA;