GibianeGibiane est un langage de programmation développé par le Commissariat à l’énergie atomique et aux énergies alternatives (CEA) au début des années 80[1] sur la base du langage Fortran 77[2]. Ce langage est la base des codes de calcul neutronique déterministes APOLLO2 et CRONOS2. Il est également le code de base du logiciel de calcul par éléments finis Cast3M, également développé par le CEA[3]. Gibiane est un langage de haut niveau qui est interprété et orienté objet destiné au calcul éléments finis, agissant comme interface textuelle entre l'utilisateur et le code de calcul[4]. Sa syntaxe a la particularité d'être exprimée en français[5]. Soumis à diverses évolutions depuis sa création, Gibiane est aujourd'hui conforme à l'approche orientée objet de la normalisation UML[6]. L'objectif initial de la création de Gibiane est de supprimer la phase de programmation demandant à l'utilisateur un savoir-faire extérieur à son domaine d'activité pour qu'il se concentre sur la spécification du problème particulier à résoudre[7]. SyntaxeLes instructions élémentaires en Gibiane prennent la forme : RESULTAT = OPERATEUR OPERANDES ;
Chaque instruction se termine par un point-virgule « ; ». Il est possible d'ajouter des lignes de commentaire en ajoutant le caractère étoile « * » en début de ligne. Les commandes sont lues et exécutées ligne à ligne. La fin du programme est indiqué par la commande[5] : FIN ;
Gibiane est insensible à la casse des caractères, l'interpréteur remplaçant les minuscules par des majuscules. Les guillemets encadrant des caractères marquent la définition d’une chaîne de caractères à prendre sans modification. Priorité d'exécutionL’exécution des commandes s'effectue de gauche à droite[5]. Ainsi la commande : X = 3 + 5 * 8 ;
retourne la valeur X = 64. Il est possible de préciser l’ordre d’exécution des commandes à l’aide de parenthèses[5]. X = 3 + ( 5 * 8 ) ;
retourne alors la valeur X = 43. Il peut y avoir autant de parenthèses emboitées que nécessaires, la règle étant d’exécuter d’abord les parenthèses en commençant à chaque fois par la plus interne qui se trouve le plus à gauche. Limitations[5]
Opérateurs de baseOpérateurs de type LOGIQUEVRAI
FAUX
ET
OU
NON (Négation d'une proposition logique)
EGA (Comparer si deux objets sont égaux)
NEG (Comparer si deux objets ne sont pas égaux)
Opérateurs logiques de comparaisonL’opérateur « SI » permet, suivant la valeur d'un objet de type LOGIQUE d’exécuter une séquence une commandes ou une autre. Ainsi dans l'exemple ci dessous, lorsque « A » est égale à « B » la suite de commandes 1 s'exécute, sinon c'est la suite de commande 2 qui s'exécute. SI ( A EGA B ) ;
suite de commandes 1
SINON;
suite de commandes 2
FINSI;
Boucles d'exécution répétitiveL’opérateur « REPETER » permet de définir une séquence de commandes à exécuter autant de fois que nécessaire. Dans l'exemple ci-dessous la suite de commande est répétée NFOIS. REPETER NOMBOUCL NFOIS;
suite de commandes
FIN NOMBOUCL ;
L'opérateur « SI » peut être utilisé à l'intérieur d'une boucle « REPETER ». A l’intérieur d’une séquence REPETER l’opérateur ITERER permet de créer des exceptions dans la boucle d'exécution en sautant la partie finale de la séquence. I = 0 ;
REPETER NOMBOUCL 4;
I = I + 1;
SI ( I EGA 2 ) ; ITERER NOMBOUCL ; FINSI;
MESSAGE ’ I VAUT ’ I ;
FIN NOMBOUCL ;
produit les résultats : I VAUT 1
I VAUT 3
I VAUT 4
Principaux objets
Programmes utilisant Gibiane
Notes et références
Voir aussi |
Portal di Ensiklopedia Dunia