Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Programmation  IDE  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 remarques
Les opérateurs
Les instruction conditionnelles
Les instructions de boucles
Type de données
Définition de fonction
Référence de mots réservés (mots clefs)
Référence de procédures et fonctions
Les modules (Packages)
Les premiers pas
Les éléments lexicaux
Les déclarations et types
Les noms et les expressions
Les instructions
Les sous-programmes
Les paquets
Les règles de visibilité
Les tâches
Structure du programme et problèmes de compilation
Les exceptions
Les unités génériques
Clauses de représentation et fonctionnalités dépendantes de la mise en oeuvre
Les entrées-sorties
Bonjour
Biochimie
Géographie
Géométrie
Histoire
Mathématique
Médicale
Météorologie
Océanographie
Sport
Temps
Trigonométrie
Validation
Calcul du calcium corrigé
Distance en Km entre deux longitudes et latitudes
Aire d'un cercle
Aire d'une surface de prisme rectangulaire
Aire d'un triangle
Distance entre deux points
Chiffre romain
Ackermann
Exp
Factoriel
Fibonacci
Log
Nombre premier
Odd
Random
Sqrt
Triangle Pascal
Hauteur utérine
Unité de mesure
Fréquence des vagues
Hockey
Année bissextile
Date de la Pâque
Atn/ATan/ArcTan
Courriel
AdaGIDE
GNAT Programming Studio
SET's Editor
Attributs de langages prédéfinis
Les pragma de langage prédéfinis
Environnement de langage prédéfini
Référence de termes et du vocabulaire
Téléchargement
Préface
Notes légal
Dictionnaire
Recherche

Les pragma de langage prédéfinis

Cette annexe définit les pragma LIST, PAGE et OPTIMIZE, et résume les définitions données ailleurs des pragma restants définis par le langage de programmation :

Pragma Description
CONTROLLED Prend le nom simple d'un type d'accès comme paramètre unique. Ce pragma n'est autorisé qu'immédiatement dans la partie déclarative ou la spécification de paquet contenant la déclaration du type d'accès; la déclaration doit se produire avant le pragma. Ce pragma n'est pas autorisé pour un type dérivé. Ce pragma spécifie que la récupération automatique d'entreposage ne doit pas être effectuée pour les objets désignés par des valeurs du type d'accès, sauf après avoir quitté l'instruction de bloc la plus interne, le corps du sous-programme ou le corps de la tâche entourant la déclaration du type d'accès, ou après avoir quitté le programme principal.
ELABORATE Prend un ou plusieurs noms simples désignant des unités de bibliothèque comme paramètres. Ce pragma n'est autorisé qu'immédiatement après la clause de contexte d'une unité de compilation (avant l'unité de bibliothèque suivante ou l'unité secondaire). Chaque paramètre doit être le nom simple d'une unité de bibliothèque mentionnée par la clause de contexte. Ce pragma spécifie que le corps de l'unité de bibliothèque correspondante doit être élaboré avant l'unité de compilation donnée. Si l'unité de compilation donnée est une sous-unité, le corps de l'unité de bibliothèque doit être élaboré avant le corps de l'unité de bibliothèque ancêtre de la sous-unité.
INLINE Prend un ou plusieurs noms comme arguments ; chaque nom est soit le nom d'un sous-programme, soit le nom d'un sous-programme générique. Ce pragma n'est autorisé qu'à la place d'un élément déclaratif dans une partie déclarative ou une spécification de paquetage, ou après une unité de bibliothèque dans une compilation, mais avant toute unité de compilation ultérieure. Ce pragma spécifie que les corps des sous-programmes doivent être développés en ligne à chaque appel chaque fois que cela est possible ; dans le cas d'un sous-programme générique, le pragma s'applique aux appels de ses instanciations.
INTERFACE Prend un nom de langage et un nom de sous-programme comme arguments. Ce pragma est autorisé à la place d'un élément déclaratif et doit s'appliquer dans ce cas à un sous-programme déclaré par un élément déclaratif antérieur de la même partie déclarative ou spécification de paquet. Ce pragma est également autorisé pour une unité de bibliothèque ; dans ce cas, le pragma doit apparaître après la déclaration du sous-programme et avant toute unité de compilation ultérieure. Ce pragma spécifie l'autre langage (et donc les conventions d'appel) et informe le compilateur qu'un module objet sera fourni pour le sous-programme correspondant.
LIST Prend l'un des identifiants ON ou OFF comme paramètre unique. Ce pragma est autorisé partout où un pragma est autorisé. Il spécifie que le listage de la compilation doit être continué ou suspendu jusqu'à ce qu'un pragma LIST avec le paramètre opposé soit donné dans la même compilation. Le pragma lui-même est toujours listé si le compilateur produit un listage.
MEMORY_SIZE Prend un paramètre numérique littéral comme unique. Ce pragma n'est autorisé qu'au début d'une compilation, avant la première unité de compilation (le cas échéant). L'effet de ce pragma est d'utiliser la valeur du littéral numérique spécifiée pour la définition du nom nommé MEMORY_SIZE.
OPTIMIZE Prend l'un des identifiants TIME ou SPACE comme paramètre unique. Ce pragma n'est autorisé que dans une partie déclarative et s'applique au bloc ou au corps entourant la partie déclarative. Il spécifie si le temps ou l'espace est le critère d'optimisation principal.
PACK Prend le nom simple d'un type d'enregistrement ou de tableau comme paramètre unique. Les positions autorisées pour ce pragma et les restrictions sur le type nommé sont régies par les mêmes règles que pour une clause de représentation. Le pragma spécifie que la minimisation du stockage doit être le critère principal lors de la sélection de la représentation du type donné.
PAGE Ce pragma n'a pas de paramètre et est autorisé partout où un pragma est autorisé. Il spécifie que le texte du programme qui suit le pragma doit commencer sur une nouvelle page (si le compilateur est en train de produire une liste).
PRIORITY Prend une expression statique du sous-type entier prédéfini PRIORITY comme paramètre unique. Ce pragma n'est autorisé que dans la spécification d'une unité de tâche ou immédiatement dans la partie déclarative la plus externe d'un programme principal. Il spécifie la priorité de la tâche (ou des tâches du type de tâche) ou la priorité du programme principal.
SHARED Prend le nom simple d'une variable comme paramètre unique. Ce pragma n'est autorisé que pour une variable déclarée par une déclaration d'objet et dont le type est un type scalaire ou d'accès ; la déclaration de variable et le pragma doivent tous deux apparaître (dans cet ordre) immédiatement dans la même partie déclarative ou spécification de package. Ce pragma spécifie que chaque lecture ou mise à jour de la variable est un point de synchronisation pour cette variable. Une implémentation doit restreindre les objets pour lesquels ce pragma est autorisé aux objets pour lesquels chacune des opérations de lecture directe et de mise à jour directe est implémentée comme une opération indivisible.
STORAGE_UNIT Prend un littéral numérique comme paramètre unique. Ce pragma n'est autorisé qu'au début d'une compilation, avant la première unité de compilation (le cas échéant). L'effet de ce pragma est d'utiliser la valeur du littéral numérique spécifié pour la définition du nombre nommé STORAGE_UNIT.
SUPPRESS Prend comme paramètres l'identifiant d'une vérification et éventuellement aussi le nom d'un objet, d'un type ou d'un sous-type, d'un sous-programme, d'une unité de tâche ou d'une unité générique. Ce pragma n'est autorisé que soit immédiatement dans une partie déclarative, soit immédiatement dans une spécification de paquet. Dans ce dernier cas, la seule forme autorisée est avec un nom désignant une entité (ou plusieurs sous-programmes surchargés) déclarée immédiatement dans la spécification de paquet. L'autorisation d'omettre la vérification donnée s'étend de l'emplacement du pragma jusqu'à la fin de la région déclarative associée à l'instruction de bloc ou à l'unité de programme la plus interne. Pour un pragma donné dans une spécification de paquet, l'autorisation s'étend jusqu'à la fin de la portée de l'entité nommée. Si le pragma inclut un nom, l'autorisation d'omettre la vérification donnée est encore plus restreinte : elle est donnée uniquement pour les opérations sur l'objet nommé ou sur tous les objets du type de base d'un type ou d'un sous-type nommé; pour les appels d'un sous-programme nommé ; pour les activations de tâches du type de tâche nommé; ou pour les instanciations de l'unité générique donnée.
SYSTEM_NAME Prend un littéral d'énumération comme argument unique. Ce pragma n'est autorisé qu'au début d'une compilation, avant la première unité de compilation (le cas échéant). L'effet de ce pragma est d'utiliser le littéral d'énumération avec l'identifiant spécifié pour la définition de la constante SYSTEM_NAME. Ce pragma n'est autorisé que si l'identifiant spécifié correspond à l'un des littéraux du type NAME déclaré dans le paquet SYSTEM.


PARTAGER CETTE PAGE SUR
Dernière mise à jour : Mardi, le 7 janvier 2025