Vous êtes sur la page 1sur 14

Chapitre 2

Langage de commandes

SOMMAIRE

2.1 - CARACTÈRES AUTORISÉS

2.2 – ÉLÉMENTS LEXICAUX DE BASE

2.3 - FICHIER DE DONNÉES

2.4 - LIBELLÉS DE COMMANDES


PCP-Manuel de référence

2-2
Conventions - Langage de commandes

Sommaire
Commande Page

2.1 - CARACTÈRES AUTORISÉS.........................................................2-5


2.2 - ÉLÉMENTS LEXICAUX DE BASE ............................................2-6
2.3 - FICHIER DE DONNÉES .................................................................2-9
2.4 - LIBELLÉS DE COMMANDES ...................................................2-11

2-3
PCP-Manuel de référence

2-4
Conventions - Langage de commandes

2.1 - CARACTÈRES AUTORISÉS


La longueur de ligne d’un fichier de données est limitée à 80 caractères.
L’utilisation de caractères ne figurant pas dans le tableau ci-dessous (en particulier : @, £,
% et lettres accentuées) peut entraîner des erreurs de décodage et des transcriptions
fantaisistes, lors de certains transferts de fichiers.

Caractères Utilisation
Lettres a-z, sauf e et d Noms, mots-clés, chaînes de caractères, commentaires
lettres A-Z, sauf E et D Les minuscules, qui sont traduites en majuscules dès leur acquisition, ne se
distinguent pas des majuscules, en dehors des chaînes de caractères
Lettres e et E Exposants de certaines constantes réelles en simple précision, noms,
mots-clés, chaînes de caractères, commentaires
Lettres d et D Exposants des constantes réelles en double précision, noms, mots-clés,
chaînes de caractères, commentaires
Chiffres 0-9 Noms, mots-clés, constantes numériques, chaînes de caractères,
commentaires
Blanc souligné _ Noms, mots-clés, chaînes de caractères, commentaires
Espace Séparateur d’éléments lexicaux
Chaînes de caractères, commentaires
Les lignes blanches sont autorisées en nombre illimité
Virgule , Séparateur d’expressions dans une liste d’expressions
Chaînes de caractères, commentaires
Dollar $ ou Diaise # Marque le début d’un commentaire
Point . Sépare la partie entière de la partie fractionnaire d’une constante réelle
Chaînes de caractères, commentaires
Double étoile Opérateur d’élévation à la puissance dans les expressions
Chaînes de caractères, commentaires
Étoile Opérateurs de multiplication et de division dans les expressions, opérateur
divisé par / de répétition (étoile)
Chaînes de caractères, commentaires
Plus + Opérateurs unaires pour constantes numériques, variables, fonctions ou
moins expressions
Opérateurs d’addition ou de concaténation, et de soustraction, dans les
expressions
Chaînes de caractères, commentaires
Parenthèse ouvrante ( Délimiteurs de sous-expressions, d’expressions et de listes d’expressions
parenthèse fermante ) Chaînes de caractères, commentaires
Inférieur à < Délimiteurs des « boîtes » d’affectation et de listes dirigées
supérieur à > Chaînes de caractères, commentaires
Apostrophe ' Délimiteurs de chaînes de caractères
guillemet " Chaînes de caractères, commentaires
Tableau 2.1 - Caractères autorisés et utilisation

2-5
PCP-Manuel de référence

2.2 – ÉLÉMENTS LEXICAUX DE BASE


Aucun élément lexical ne peut être écrit sur plus d'une ligne de données.

Constante entière (type ENTIER)


C'est une liste non vide de chiffres, précédée ou non d'un signe et comprenant 11 caractères
au maximum ; elle doit appartenir à l’intervalle : [ 231, 231 1].
Exemples :
1 007 -10000 +500

Constante réelle en simple précision (type RÉEL_SIMPLE)


Il peut s’agir :
d’une constante réelle élémentaire ;
d’une constante entière suivie d’un exposant en simple précision ;
ou d’une constante réelle élémentaire suivie d’un exposant en simple précision.
La constante réelle élémentaire comprend un signe optionnel, suivi d’une partie entière
(liste de chiffres), d’un point décimal, et d’une partie fractionnaire (liste de chiffres) ; la partie
entière peut être omise, ou la partie fractionnaire, mais non les deux ; il est cependant
conseillé de ne pas exploiter cette possibilité, pour améliorer la lisibilité des données.
Son exposant en simple précision comprend la lettre e ou E, suivie d’une constante entière
(signée ou non).
Sa longueur totale ne doit pas excéder 14 caractères et son exposant est limité à 25 en
valeur absolue ; son nombre de chiffres sûrs est de 6 (valeurs machines-dépendantes les plus
répandues).
Exemples :
+0125 .125 -12.50 +125E1 125E+001 -125e-01
+12.5E-01 -12.5E+1 -12.5e2 .125E0 -125.E3

Constante réelle en double précision (type RÉEL_DOUBLE)


Remplacer la lettre e (ou E) par d (ou D) dans la définition de la constante réelle en simple
précision.
Elle permet de mener à bien des calculs « précis », cependant, les données générées seront
acquises et stockées en simple précision, donc parfois tronquées.
Sa longueur totale ne doit pas excéder 24 caractères et son exposant est limité à 286 en
valeur absolue ; son nombre de chiffres sûrs est de 15 (valeurs machines-dépendantes les plus
répandues).
Exemples :
3.14159265D0 $ cette valeur de PI conserve sa precision
1D0 1.5D-2 .5d-6

Nom (type NOM)


C’est une suite de un à 8 caractères (longueur maximale), composée de lettres et/ou de
chiffres et/ou de blancs soulignés, débutant par une lettre, et dans laquelle plusieurs
2-6
Conventions - Langage de commandes

occurrences successives du blanc souligné, ainsi qu’un blanc souligné terminal ne sont pas
autorisés.
De plus, les mots réservés : LIS, DIM, POUR, BRISER, PASSER, SI, SINON, LIRE,
RETOURNER, E, D, A, INC, DIV et REP, ne sont pas utilisables comme noms.
Exemples :
$ noms corrects
BETON_T BETON_L C12_13S
STRUSERV Fleau_2 Sect_105 CAB100
C_102g equ_1_2 Appb ARTI_Bl
Sargin BPELELU KARMAN KAIMAL
$ noms incorrects
STRUCSERV $ longueur excessive
1D10G $ ne debute pas par une lettre
D__10G $ contient deux blancs soulignes consecutifs
D.10G $ contient un point non autorise
D10G_ $ se termine par un blanc souligne

Mot-clé
Il est construit, décodé et contrôlé comme un nom, mais sa longueur n’est limitée que par
celle de la ligne de données.
Lorsqu’elle dépasse quatre caractères (dans le libellé descripteur d’une commande), seuls
ses quatre premiers caractères sont nécessaires à coder, pour qu’il soit reconnu comme un
mot-clé prédéfini par le langage de commandes. Les mots-clés de longueur inférieure ou égale
à quatre caractères doivent être codés entièrement (voir aussi rubrique 2.11).
Exemples :
SECTION Sect CARActeristiques CARA CARACT
Tendre TEND ACTIVER ACTI
Z_MESURE Z_ME LOG W AXE

Chaîne de caractères (type CHAÎNE)


C’est une suite de caractères autorisés mise entre apostrophes ou guillemets, dans laquelle
les apostrophes ou guillemets inclus sont autorisés s'ils sont distincts des extrêmes.
Sa longueur n’est limitée que par celle de la ligne de données.
Exemples :
$ il n’y a pas d’apostrophe incluse
’*** ETAT DE L OUVRAGE A SA MISE EN SERVICE ***’
$ l’apostrophe incluse est autorisée car des guillemets encadrent
"*** ETAT DE L’OUVRAGE A SA MISE EN SERVICE ***"

Commentaire
Tous les caractères suivant le premier dollar ($) ou le premier (#) rencontré sur une ligne
(compris), jusqu’à la fin de ligne, sont ignorés lors du décodage et utilisables pour insérer des
commentaires explicatifs (voir aussi rubrique 2.10).
Exemples :
$ debut de la construction
$ ------------------------
DATE 0 $ marque le passage en mode
$ CALCUL RHEOLOGIQUE FIN
2-7
PCP-Manuel de référence

PLACER APPUIS 2 $ piles P2 et P3

Délimiteur de fin de commande


Il s’agit du caractère point-virgule (;) (voir aussi rubrique 2.10).
Exemples :
SURCHARGES TITRE ’TEST’ VERIFICATION;

Séparateurs d’éléments lexicaux


Outre la virgule, les opérateurs et les délimiteurs d’expressions, de liste d’expressions, ou
de listes dirigées ( , , /, +, , (, ), < et >), les caractères suivants font office de séparateurs
d’éléments lexicaux :
espaces en nombre quelconque, non inclus dans une chaîne de caractères ou dans un
commentaire ;
délimiteur de fin de commande non inclus dans une chaîne de caractères ou dans un
commentaire ;
fin de ligne.
Il est obligatoire de séparer un nom (ou mot-clé) d’un autre nom (ou mot-clé) ou d’une
constante numérique, et une constante numérique d’une autre constante numérique ou d’un
nom (ou mot-clé).

2-8
Conventions - Langage de commandes

2.3 - FICHIER DE DONNÉES


Un fichier de données est constitué exclusivement de commentaires éventuels et de
commandes.

Commentaires
Le commentaire est un élément lexical de base ignoré par l’application. Il peut être
introduit en début de ligne, ou en cours de ligne, s’il respecte l’intégrité de son début « utile ».
Les caractères qu’il détient ne sont pas analysés en tant que suite d’éléments lexicaux, ce
qui permet notamment d’y inclure des apostrophes, guillemets ou parenthèses non apairés, ou
des « noms » non conformes lexicalement.
Exemples :
TENDRE CABLES 2 $ mise en tension des cables provisoires
CAB_1 CAB_2
$ etat de l’ouvrage a sa mise en service
ETAT 100
$ mise en place des piles 1A et 1B
PLACER APPUIS 2
APPU_1 105 6*0.0 APPU_2 205 6*0.0
$ l’insertion prematuree du dollar introduit une erreur
<VA = 30.0$> initialisation de la variable VA

Commandes
Les commandes, constituées des autres types d’éléments lexicaux de base (noms,
mots-clés, constantes numériques, chaînes de caractères), permettent généralement de définir
une entité (au sens large) ou une action à mener.
Elles débutent toujours par un ou plusieurs mots-clés d’identification, suivis d’autres
éléments lexicaux éventuels de divers types, selon leur syntaxe imposée.

Commandes à délimiteur de fin facultatif


Elles sont employées par les modules GE1, GE2, GE4, MC1, PH1 et PH3, et
comprennent :
un en-tête qui détient les premiers mots-clés, suivis ou non d’autres éléments
lexicaux, tous introduits sur la même ligne ;
une liste d’éléments lexicaux associée éventuelle, codée sur les lignes suivantes, sans
contrainte de format ;
un délimiteur de fin facultatif (;).
Exemples :
$ commandes sans liste
TITRE ’ETUDE DU POUSSAGE’
TENSIONS GROUPE 2
$ commande avec liste
ACTIVER ELEMENTS 10
105 110 115 120 125 130 135 140 145 150

2-9
PCP-Manuel de référence

Le délimiteur de fin de commande permet de séparer une commande d’une autre, sans
passer à la ligne suivante, mais le saut de ligne entre en-tête de commande et liste (lorsqu’elle
existe) reste imposé.
Exemples :
$ cet exemple n’est pas un modele de lisibilite
CALCULER CONTRAINTES ; CALCULER EXTREMAS ; DATE 0
SUSPENDRE EXTREMAS ; TENDRE CABLES 2
CAB_1 CAB_2 ; ACTIVER ELEMENTS 3
105 107 109 ; EDITER

Commandes à délimiteur de fin obligatoire


Elles sont employées par les modules ENV, DYN et ETU, et le sous-module TRAFIC, et
comprennent :
les premiers mots-clés, suivis ou non d’autres éléments lexicaux ;
un délimiteur de fin (;).
Aucun saut de ligne n’est imposé à l’intérieur d’une commande de ce type ; elle peut être
libellée sur plusieurs lignes et une ligne peut en contenir plusieurs.
Exemples :
$ les points-virgules sont accoles aux commandes afin de rappeler
$ qu’ils en font partie; ils font egalement office de separateurs
PCPETU; RAPPELER TERMINAL; FIN;
$ commande (du module ENV) libellee sur plusieurs lignes
$ afin d’en separer les blocs logiques
ETUDE 11
’TABLIER NORD, REACTIONS D’’APPUIS’
REACTIONS
NOEUDS 1 36 86 121;
$ commande (du module ENV) libellee sur une seule ligne
$ (la longueur de la chaine de caracteres le permet)
ACTION 100 ’A(l)’ SUPPORT 103 TRAFIC AL;
$ autre commande (du module DYN) libellee sur une seule ligne
$ (la lisibilite n’en souffre pas trop)
ADMITTANCE MODALE ’ADMITTANCE MOYENNE’ MOYENNE 0.75;

Constantes numériques
Lorsqu’un paramètre de type ENTIER est réclamé dans le libellé d’une commande, seules
peuvent être introduites : une constante, une variable, ou une expression de type ENTIER.
Un paramètre de type réel peut être introduit sous forme d’une valeur de type ENTIER,
RÉEL_SIMPLE ou RÉEL_DOUBLE (constante, variable ou expression).
Exemples :
$ certains parametres reels sont remplaces par des entiers
MATERIAU BETON_1 3
3 14 2
3.6E6 0.20 2.50
1.0E-5 3600000 1 0.95
$ erreur, le nombre d’elements a activer doit toujours etre entier
ACTIVER ELEMENTS POIDS 2.0
103 104

2-10
Conventions - Langage de commandes

2.4 - LIBELLÉS DE COMMANDES


Les libellés de commandes respectent certaines règles de présentation détaillées ci-dessous.

Attributs des caractères


Les mots-clés sont présentés en caractères MAJUSCULES (non gras et non accentués),
sous leur forme complète.
Bien qu’ils soient reconnus sur leur préfixe de quatre caractères au maximum, il est
conseillé de les libeller entièrement, pour améliorer leur lisibilité.
Dans les commentaires correspondants, le vocable « option » est utilisé en lieu et place de
« mot-clé ».
Certains mot-clés SOULIGNES représentent les options par défaut ; par exemple, pour
cette partie de libellé :

ABSOLUES …
MASSES titre_masses
RELATIVES …

ces trois écritures sont équivalentes :


MASSES ’DEVIATEURS’ ...
MASSES ’DEVIATEURS’ ABSOLUES ...
MASS ’DEVIATEURS’ ABSO ...

Les noms à coder obligatoirement en entier sont présentés en caractères GRAS


MAJUSCULES ; exemple :

CHALOS
TAULIMITES … BPELELS …
BPELELU

Les paramètres de tous types sont présentés en caractères latins minuscules non italiques et
non accentués, et/ou en caractères grecs minuscules non italiques ; exemples :

nom_arti no_element 1 d z

Les caractères en minuscules italiques représentent des parties de libellés de commandes, à


substituer, en raison de leur encombrement excessif.

Caractères spéciaux
Lorsqu’un paramètre est entre parenthèses, ou lorsque plusieurs paramètres sont entre
parenthèses et séparés par des virgules, il s’agit de noms de variables prédéfinis, à libeller tels
quels, avec les parenthèses (et les virgules) ; exemples :

(type_voies_0, degres_0) (bande_n_char)

2-11
PCP-Manuel de référence

Les crochets carrés englobent des entités facultatives (mots-clés, paramètres, ou entités
plus élaborées ; exemples :

POUSSER [AUTOMATIQUEMENT] STRUCTURES …

TENDRE CABLES [NONINJECTES] [nb_cables]

no_noeud nb_noeuds
[ ]
no_element nb_elements

[POUTRES nb_poutres

no_poutre nb_poutres
]

Les « boîtes » englobent des listes d’entités à répéter un nombre de fois indiqué par un nom
de paramètre accolé, en indice ; exemple :

x_point y_point z_point x y z nb_points

L’imbrication de plusieurs boîtes est possible, ainsi que l’insertion, pour des raisons
d’encombrement, de sauts de lignes non significatifs ; exemples :

z_point nb_files nb_points

ETUDE no_domaine

[ COMPOSANTE no_cpp [CONCOMITANTES no_cpc nb_cpc


] ]
nb_cpp nb_domaines

Les accolades simples expriment un choix exclusif, entre chacune des entités qu’elles
englobent ; par exemple, cette partie de libellé :

REACTIONS

ELEMENTS
EFFORTS
SECTIONS
NORMALES
CONTRAINTES
TANGENTES

peut donner lieu aux écritures suivantes (liste exhaustive) :


REACTIONS
ou EFFORTS ELEMENTS
ou EFFORTS SECTIONS
ou CONTRAINTES NORMALES
ou CONTRAINTES TANGENTES

2-12
Conventions - Langage de commandes

Lorsqu’une simple étoile précède les accolades, toute combinaison des entités englobées
est admise, avec au maximum, une occurrence de chaque entité ; leur ordre d’introduction est
indifférent ; par exemple, cette partie de libellé :

* DEPLACEMENTS
REACTIONS
EFFORTS

peut donner lieu aux écritures suivantes (liste non exhaustive) :


DEPLACEMENTS
ou EFFORTS
ou DEPLACEMENTS REACTIONS
ou EFFORTS DEPLACEMENTS
ou REACTIONS EFFORTS DEPLACEMENTS

Lorsqu’une double étoile précède les accolades, toute combinaison des entités englobées
est admise, sans que leurs nombres d’occurrences soient limités ; leur ordre d’introduction est
aussi indifférent ; par exemple, cette partie de libellé :

* * SECTION nom_section
POUTRES no_poutre nb_poutres

peut donner lieu aux écritures suivantes (liste non exhaustive) :


SECTION S1 SECTION S2
ou POUTRES 101 102
ou SECTION S1 POUTRES 101 102 SECTION S2
Lorsqu’un signe plus précède les accolades, il faut introduire chacune des entités englobées
non facultatives en un exemplaire, et chacune des entités englobées facultatives en un
exemplaire au maximum, dans un ordre global non imposé ; par exemple, cette partie de
libellé (modifiée) :

+ MASSE_VOLUMIQUE_AIR
Z_SOL zs
[RUGOSITE_SITE z 0 ]

peut donner lieu aux écritures suivantes (liste exhaustive) :


MASSE_VOLUMIQUE_AIR 0.00122 Z_SOL 10.0
ou Z_SOL 10.0 MASSE_VOLUMIQUE_AIR 0.00122
ou MASSE_VOLUMIQUE_AIR 0.00122 Z_SOL 10.0 RUGOSITE SITE 5.0
ou MASSE_VOLUMIQUE_AIR 0.00122 RUGOSITE SITE 5.0 Z_SOL 10.0
ou Z_SOL 10.0 MASSE_VOLUMIQUE_AIR 0.00122 RUGOSITE SITE 5.0
ou Z_SOL 10.0 RUGOSITE SITE 5.0 MASSE_VOLUMIQUE_AIR 0.00122
ou RUGOSITE SITE 5.0 MASSE_VOLUMIQUE_AIR 0.00122 Z_SOL 10.0
ou RUGOSITE SITE 5.0 Z_SOL 10.0 MASSE_VOLUMIQUE_AIR 0.00122

2-13
PCP-Manuel de référence

Lorsqu’une entité d’un groupe entre accolades subit un décalage vers la droite, elle doit être
considérée comme la suite de celle qui précède (alignée à gauche), et non comme une entité à
part entière.
Il en serait de même si un caractère spécial ([, ) ne trouvait son « symétrique » qu’à la
ligne qui le suit ; par exemple, ces deux écritures sont équivalentes :

DIVISION_CHARGE_MAX nb_fois
MODE no_mode
[STRUCTURE nom_structure] FACTEUR facteur

DIVISION_CHARGE_MAX nb_fois
MODE no_mode [STRUCTURE nom_structure] FACTEUR facteur

2-14