Normes de programmation

Ce programme présente l'usage des normes de programmation.

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

Fichier de normes

; -------------------------------------------------------------------
; Fichier : ups5gl.ini
; Objet : Initialisation d'Up ! 5GL.
;
; Module : Up ! Application System.
; Auteur-Date : DUVAL Jean-Pierre - Novembre 2003.
; -------------------------------------------------------------------
; Observations
;
;
; -------------------------------------------------------------------

[Ups5GL]
Public=Pub
Protege=Pro
Prive=Pri
Global=Glo
Local=Loc
Parametre=Prm
Module1=UpsArc
Module2=UpsBiz
Module3=UpsCmp
Module4=UpsCns
Module5=UpsCom
Module6=UpsCrb
Module7=UpsCsv
Module8=UpsDbg
Module9=UpsDgn
Module10=UpsEdf
Module11=UpsEdi
Module12=UpsFts
Module13=UpsSid
Module14=UpsJav
Module15UpsKrn
Module16=UpsMat
Module17=UpsMls
Module18=UpsMsn
Module19=UpsNap
Module20=UpsNet
Module21=UpsNls
Module22=UpsOms
Module23=UpsOrb
Module24=UpsPrf
Module25=UpsPrs
Module26=UpsRcf
Module27=UpsSec
Module28=UpsSng
Module29=UpsSys
Module30=UpsTcp
Module31=UpsTrn
Module32=UpsWww

[Constante]
CommentaireObligatoire=Oui
Modele=Con${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[Enumere]
CommentaireObligatoire=Oui
Modele=Enu${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=50
TailleMinimale=6
TailleMaximale=25

[ValeurEnumeree]
CommentaireObligatoire=Oui
Modele=ValEnu${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[Entrepot]
CommentaireObligatoire=Oui
Modele=Ent${Portee}${Acces}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[Type]
CommentaireObligatoire=Oui
Modele=Typ${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=1000
TailleMinimale=6
TailleMaximale=25

[Interface]
CommentaireObligatoire=Oui
Modele=Int${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=1000
TailleMinimale=6
TailleMaximale=25

[Exception]
CommentaireObligatoire=Oui
Modele=Exc${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[FileDAttente]
CommentaireObligatoire=Oui
Modele=Fil${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[Serveur]
CommentaireObligatoire=Oui
Modele=Ser${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[AnalyseurLexical]
CommentaireObligatoire=Oui
Modele=AnaLex${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[AnalyseurSyntaxique]
CommentaireObligatoire=Oui
Modele=AnaSyn${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=1000
TailleMinimale=6
TailleMaximale=25

[NonTerminalSyntaxique]
CommentaireObligatoire=Oui
Modele=Exc${Portee}${Acces}${AnalyseurSyntaxique}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[RegleSyntaxique]
CommentaireObligatoire=Oui
Modele=Exc${Portee}${Acces}${AnalyseurSyntaxique}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[Variable]
CommentaireObligatoire=Oui
Modele=Var${Portee}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

[Procedure]
CommentaireObligatoire=Oui
Modele=Pro${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=2
TailleMinimale=6
TailleMaximale=25

[Fonction]
CommentaireObligatoire=Oui
Modele=Fon${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=2
TailleMinimale=6
TailleMaximale=25

[MethodeProcedure]
CommentaireObligatoire=Oui
Modele=MthPro${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=2
TailleMinimale=6
TailleMaximale=25

[MethodeFonction]
CommentaireObligatoire=Oui
Modele=MthFon${Portee}${Acces}${Appel}*
NombreMaximal=2
NombreMaximalDeLignes=2
TailleMinimale=6
TailleMaximale=25

[Composant]
CommentaireObligatoire=Oui
Modele=*
NombreMaximal=2
NombreMaximalDeLignes=100
TailleMinimale=0
TailleMaximale=0

[Module]
CommentaireObligatoire=Oui
Modele=${UPS_PROJECT}*
NombreMaximal=0
NombreMaximalDeLignes=0
TailleMinimale=6
TailleMaximale=25

Mode compilé

Commande de compilation

upscmp Source=norme.upl Normes=${UPS_HOME}/ini/${UPS_USER}/ups5gl.ini

Commande d'exécution

norme

Mode interprété

upssng Source=norme.upl Normes=${UPS_HOME}/ini/${UPS_USER}/ups5gl.ini

Fichier source

Source Composant "Exemple de l'emploi des normes de programmation" Version 4.0.0;

Constante
/*******/ Protege :
/*******/
Enumere
/*******/ Protege :
/*******/
Entrepot
/******/ Protege :
/*******/
Type TA Defaut
/************/ Fin Type

Type TB Defaut
/************/ Fin Type

Protege :
/*******/
Type TC Defaut
/************/ Fin Type

Interface IA Defaut
/*****************/ Fin Interface

Interface IB Defaut
/*****************/ Fin Interface

Protege :
/*******/
Interface IC Defaut
/*****************/ Fin Interface

Variable
/*******/ Protege :
/*******/
Exception
/*******/ Protege :
/*******/
FileDAttente
/*******/ Protege :
/*******/
Procedure TA.P1()
/***************/
Debut
Ecran.Ecrire("TA.P1");
Fin Procedure

Procedure TA.P2()
/***************/
Debut
Ecran.Ecrire("TA.P2");
Fin Procedure

Procedure TA.P3()
/***************/
Debut
Ecran.Ecrire("TA.P3");
Fin Procedure

Fonction TB.F1() Retourner Entier
/*******************************/
Debut
Ecran.Ecrire("TB.F1");
Retourner 0;
Fin Fonction

Fonction TB.F2() Retourner Entier
/*******************************/
Debut
Ecran.Ecrire("TB.F2");
Retourner 0;
Fin Fonction

Fonction TB.F3() Retourner Entier
/*******************************/
Debut Ecran.Ecrire("TB.F3");
Retourner 0;
Fin Fonction

Procedure P1()
/************/
Debut Ecran.Ecrire("P1");
Fin Procedure

Procedure P2()
/************/
Debut
Ecran.Ecrire("P2");
Fin Procedure

Procedure P3()
/************/
Debut
Ecran.Ecrire("P3");
Fin Procedure

Fonction F1() Retourner Entier
/****************************/
Debut
Ecran.Ecrire("F1");
Retourner 0;
Fin Fonction

Fonction F2() Retourner Entier
/****************************/
Debut
Ecran.Ecrire("F2");
Retourner 0;
Fin Fonction

Fonction F3() Retourner Entier
/****************************/
Debut Ecran.Ecrire("F3");
Retourner 0;
Fin Fonction

Principal
/*******/
Debut
Ecran.Ecrire("Ligne 1");
Ecran.Ecrire("Ligne 2");
Ecran.Ecrire("Ligne 3");
Ecran.Ecrire("Ligne 4");
Ecran.Ecrire("Ligne 5");
Fin Principal