Syntaxe
COMMON [/[cb]/] nlist [[.]/[cb]/nlist]...
|
Paramètres
Nom |
Description |
cb |
Ce paramètre permet d'indiquer un nom de bloc commun. |
nlist |
Ce paramètre permet d'indiquer une liste de noms séparés par une virgule. |
Description
Cette instruction permet de partager des blocs de stockage entre les sous-programmes.
Remarques
- Si le paramètre cb est omis, alors le bloc commun vide est supposé. S'il est spécifié, le paramètre cb est appelé un bloc commun nommé. Les noms apparaissant dans le paramètre nlist
peuvent être des noms de variables, des noms de tableaux et des déclarateurs de tableaux. Les paramètres factices ne sont pas autorisés dans nlist.
- L'instruction COMMON permet le partage de blocs d'entreposage entre les sous-programmes. Chaque nom apparaissant dans la nlist après un nom de bloc commun cb est déclaré appartenir à
ce bloc commun. Une variable ou un nom de tableau ne peut appartenir qu'à un seul bloc commun. Un nom de bloc commun peut apparaître plusieurs fois dans la même instruction COMMON ainsi que dans plusieurs
instructions COMMON. Les listes suivant des apparitions successives du même nom de bloc commun dans les instructions COMMON sont considérées comme une continuation de la liste des noms appartenant
au bloc commun. Une variable ou un tableau ne peut apparaître qu'une seule fois dans une instruction COMMON.
- Les blocs communs sont définis comme suit. Un bloc commun est un bloc d'entreposage consécutif. Il se compose de toutes les séquences d'entreposage de toutes les entités spécifiées dans toutes les listes
déclarées appartenir à ce bloc commun. L'ordre dans lequel chaque entité apparaît dans un bloc commun est défini par l'ordre dans lequel elles apparaissent dans les listes. Les séquences d'entreposage associées à
un bloc commun via l'instruction EQUIVALENCE sont considérées comme appartenant à la dernière unité d'entreposage. La taille d'un bloc commun est la somme de toutes les séquences
d'entreposage de tous les noms appartenant à ce bloc commun plus toute séquence d'entreposage étendant le bloc commun par association d'équivalence.
- Une instruction EQUIVALENCE ne doit pas provoquer l'association de séquences d'entreposage de deux blocs communs différents et ne doit pas non plus étendre le bloc
commun en ajoutant des unités d'entreposage précédant la première unité d'entreposage du bloc commun.
Dernière mise à jour : Mardi, le 3 Novembre 2020