Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Annexe  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les opérateurs
Référence des procédures et des fonctions
Référence des mots réservés
Les premiers pas
Vocabulaire Pascal
Les instructions WITH et VIEWING
Allocation dynamique
Les modules
Vectorisation et optimisation
Référence des codes d'erreurs
Ensemble de caractères
Erreurs non signalées par Cray Pascal
Exemples de programmation d'entrée/sortie
Préface
Notes légal
Dictionnaire
Recherche

Vocabulaire Pascal

Le vocabulaire Pascal se compose des éléments suivants :

Symboles spéciaux

Les symboles spéciaux en Pascal se répartissent en trois catégories :

Mots réservés

Pascal réserve certains mots à des usages spécifiques. Ces mots ne peuvent être redéfinis par l'utilisateur ni utilisés d'une autre manière que celle à laquelle ils sont destinés. Les mots réservés sont les suivants :

La signification de chaque mot réservé est discutée dans le contexte de l'énoncé dans lequel il apparaît.

Tous les mots de la liste précédente sont des mots réservés Pascal standard, à l'exception de BY, CACHE, COMMON, EXPORTED, EXTERNAL, FORTRAN, FORWARD, IMPORTED, MODULE, OTHERWISE, STATIC, TASKVAR, VALUE et VIEWING. (En Pascal standard, FORWARD est une directive et non un mot réservé.)

Les opérateurs

Le tableau suivant répertorie les opérateurs Pascal et donne une brève description de la fonction de chacun. Certains opérateurs sont utilisés de plusieurs façons.

Opérateur Description
+ L'opérateur «+» exécute les fonctions suivantes :
  • Additionne deux nombres
  • Identifie un nombre comme positif
  • Décrit l'union de deux ensembles.
- L'opérateur «-» exécute les fonctions suivantes :
  • Soustrait un nombre d'un autre
  • Inverse le signe d'un nombre
  • Décrit la différence de deux ensembles
* L'opérateur «*» exécute les fonctions suivantes :
  • Multiplier deux nombres
  • Décrire l'intersection de deux ensembles
/ Divise un nombre par un autre sans tronquer le résultat.
DIV Divise un entier par un autre et tronque le reste.
:= Affecte une valeur à une variable.
MOD Donne le reste résultant de la division d'un entier par un autre (modulo).
AND Donne la conjonction logique de deux opérandes booléens.
OR Donne la disjonction logique de deux opérandes booléens.
NOT Inverse la valeur d'un opérande booléen.
= Teste si le premier opérande est égal au second.
< Tests whether the first operand is less than the second.
> Teste si le premier opérande est supérieur au second.
<= La combinaison <= d'opérateurs exécute les fonctions suivantes :
  • Teste si le premier opérande est inférieur ou égal au second
  • Teste si tous les membres de l'ensemble du premier opérande sont également des membres de l'ensemble du second opérande
  • Indique que le premier opérande booléen implique le second
<= La combinaison d'opérateurs >= exécute les fonctions suivantes :
  • Teste si le premier opérande est supérieur ou égal au second
  • Teste si tous les membres de l'ensemble du second opérande sont également des membres de l'ensemble du premier opérande
<> La combinaison d'opérateurs <> remplit les fonctions suivantes :
  • Teste si le premier opérande n'est pas égal au second
  • Donne le résultat OU exclusif des opérandes booléens
IN Teste si le premier opérande est un membre de l'ensemble du deuxième opérande.
^ Indique que la variable précédente est un pointeur vers une valeur plutôt qu'une valeur elle-même.

Les opérandes des opérateurs booléens sont évalués de gauche à droite et, dans Cray Pascal, l'évaluation s'arrête dès que l'expression est résolue comme TRUE ou FALSE.

Exemple :

  1. IF (i<>NIL) AND (t(j)=7) THEN ...

Si i a une valeur de NIL dans l'exemple ci-dessus, l'évaluation s'arrête avant que t(j)=7 ne soit évalué, car l'expression ne peut être résolue qu'en FALSE.

Délimiteurs

Pascal reconnaît les délimiteurs suivants :

Blanc . , ; : ' ( ) [ ] { } (* *) (. .) EOL

Les délimiteurs (. et .) sont des représentations alternatives pour [ et ], respectivement. Les espaces, les caractères de fin de ligne (EOL), les points-virgules et les commentaires sont des séparateurs. Au moins un séparateur doit apparaître entre les mots, identificateurs ou valeurs réservés. Un séparateur ne peut pas apparaître dans un mot, un identificateur ou une valeur réservés.

Remarque : Cray Pascal ne prend pas en charge le caractère @ comme représentation alternative du ^, comme spécifié par la norme ISO Niveau 1 Pascal.

Une instruction peut traverser les limites de ligne. De plus, comme le code source Pascal est de format libre, plusieurs instructions peuvent être placées sur une seule ligne. Le point-virgule sépare les instructions simples et composées les unes des autres. Une instruction composée est une structure dans laquelle les mots réservés BEGIN et END délimitent au moins une instruction simple.

La forme générale d'une instruction composée est la suivante :

BEGIN statement { ";" statement} END

Il n'est pas nécessaire d'insérer un point-virgule après l'instruction finale, car cette instruction est suivie du mot réservé END plutôt que d'une autre instruction. Un point-virgule apparaîtrait après END si l'instruction composée qu'il termine était suivie d'une autre instruction, simple ou composée. Si, toutefois, un point-virgule était placé après l'instruction finale, l'instruction composée s'exécuterait toujours comme prévu. Pascal suppose la présence d'une instruction nulle après le point-virgule dans un tel cas.

Identificateurs prédéfinis

Pascal prédéfinit un ensemble d'identificateurs pour faire référence à des types de données, des fichiers, des constantes, des fonctions et des procédures. Vous pouvez redéfinir ces identificateurs. Les identificateurs prédéfinis peuvent être considérés comme ayant été définis dans un bloc hypothétique entourant le programme. Les identificateurs prédéfinis sont les suivants :

Dans la liste précédente, les extensions CRI suivantes sont celles de la norme ISO : ALFA, ALL, ANY, ARCCOS, ARCSIN, BAND, BNOT, BOR, BXOR, CONNECT, COSH, $DEBUG, HALT, I24, I32, LOC, LOG, LSHIFT, MAXVAL, MINVAL, POP, PRODUCT, RSHIFT, SINH, SIZEOF, SUM, TAN et TANH.

Identificateurs définis par l'utilisateur

Un identificateur défini par l'utilisateur ne peut pas être identique à un mot réservé ; s'il est identique à un identificateur prédéfini, il redéfinit cet identificateur.

Les identificateurs doivent commencer par une lettre et peuvent être suivis de n'importe quel nombre de lettres et de chiffres. Les lettres majuscules et minuscules peuvent être utilisées de manière interchangeable. Sous Cray Pascal étendu, les identificateurs peuvent commencer par une lettre ou l'un des caractères suivants :

$ % @

Les caractères suivants peuvent également inclure le caractère de soulignement sous Cray Pascal étendu.

Les caractères spéciaux suivants à utiliser dans les identificateurs sont des extensions CRI de la norme ISO Niveau 1 Pascal : $ % @ _.

Tous les caractères d'un identificateur sont significatifs, c'est-à-dire que le compilateur ne reconnaît pas un identificateur uniquement par ses n premiers caractères. Un identificateur ne doit cependant pas être continué sur deux lignes, car un caractère de fin de ligne (EOL) apparaîtra à l'intérieur et le séparera en deux identificateurs. Ainsi, un identificateur Pascal est effectivement limité à la taille de ligne maximale, étant de 140 caractères.

Les identificateurs valides sont les suivants :

  1. X
  2. $Pasc_task1
  3. CrayComputerProcedureNumber2
  4. return2beginning

Étant donné que le compilateur Pascal ne fait pas de distinction entre les majuscules et les minuscules, tous les éléments suivants font référence à la même variable :

  1. IsItTrue
  2. ISITTRUE
  3. isittrue
  4. IsitTRUE

Nombres

Les nombres en Pascal peuvent être décimaux ou octaux. Les nombres octaux sont suivis de B ou b et sont limités aux entiers.

Les nombres ne peuvent pas contenir de virgules et ne peuvent pas dépasser une limite de ligne, mais ils peuvent être précédés d'un signe plus ou moins. Un nombre réel doit avoir au moins 1 chiffre de chaque côté de la virgule décimale ou être écrit en notation scientifique.

En notation scientifique, la lettre E (ou e) suivie d'un facteur d'échelle apparaît à la fin d'un nombre. Le facteur d'échelle peut être précédé d'un + ou d'un - ; si aucun des deux n'est présent, + est supposé. Le E représente : fois 10 à la puissance de. Ainsi, 2E6 est 2 fois 10 à la puissance de 6, soit 2 000 000.

L'identificateur prédéfini MAXINT spécifie le plus grand entier positif valide. La valeur de MAXINT sur un ordinateur Cray est 263-1 (9 223 372 036 854 775 807 en décimal). -MAXINT est -263-1.

Les nombres suivants sont valides :

  1. 1
  2. +02
  3. -0.6
  4. 0.3E-8
  5. 12e10
  6. 77B (* = 63 *)
  7. -71B (* = -57 *)

Les nombres octaux sont une extension CRI de la norme ISO Niveau 1 Pascal.

Chaînes de caractères

Les chaînes de caractères contiennent un ou plusieurs caractères entourés d'apostrophes. Une apostrophe dans une chaîne de caractères est représentée par deux apostrophes. Les exemples suivants sont des chaînes de caractères valides :

  1. 'X'
  2. '@'
  3. 'Partie 1'
  4. 'J''ai'

Une chaîne de caractères doit être entièrement contenue sur une seule ligne.

Étiquettes d'instructions

Une étiquette d'instruction sert de cible pour un transfert de contrôle de programme initié dans une instruction GOTO. Chaque étiquette doit être déclarée dans la section des déclarations du bloc de programme dans lequel elle apparaît. Une étiquette est une séquence de 1 à 4 chiffres.

Les étiquettes suivantes sont valides :

  1. 5
  2. 75
  3. 0
  4. 9999
  5. 0001

Les commentaires

Les commentaires contiennent des informations explicatives ne générant pas de code exécutable. Les commentaires commencent par { ou (* et se terminent par } ou *).

Exemple :

  1. (* Ceci est un commentaire. *)

Une extension CRI permet d'imbriquer des commentaires en exigeant qu'un commentaire soit fermé avec le symbole correspondant à celui avec lequel il a été ouvert. Si l'option du compilateur ISO est désactivée, un commentaire ouvert avec un { doit être terminé par un }, et un commentaire ouvert avec un (* doit être terminé par un *).

La possibilité d'imbriquer des commentaires est une extension CRI de la norme Pascal ISO niveau 1.

Si l'option du compilateur ISO est activée, un commentaire commençant par un { peut être fermé par un *); de même, un } peut fermer un commentaire commencé par un (*.

En général, le Cray Pascal utilise le format de commentaire (* et *).

Un commentaire commençant par (*# indique une directive du compilateur. Toutes les directives du compilateur apparaissant dans le programme source doivent apparaître dans des commentaires. La sous-section Directives du compilateur de la page Les premiers pas décrit les directives du compilateur.

Exemple :

  1. (*#L-*)


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Vendredi, le 13 octobre 2017