Les Extensions SuperBOL
Dépôts de code
L’équipe SuperBOL maintient normalement plusieurs dépôts de code pour chaque client:
Le dépôt gnucobol-superbol est un dépôt GnuCOBOL commun à tous les clients de la Souscription SuperBOL. Ce dépôt contient normalement l’ensemble des contributions apportées pour les différents clients.
Les branches suivantes sont disponibles dans notre dépôt:
- gnucobol-superbol-3.x: nos contributions à GnuCOBOL 3
gnucobol-superbol-4.x: nos contributions à GnuCOBOL 4 (non utilisée actuellement)gitside-gnucobol-3.x: la branche officielle de GnuCOBOL 3 que nous suivonsgitside-master: la branche officielle de GnuCOBOL 4 que nous suivons
Le dépôt gnucobol-$CLIENT est un dépôt GnuCOBOL spécifique à un client. Il contient la version de GnuCOBOL SuperBOL maintenue pour ce client. Il peut contenir des contributions temporaires supplémentaires (dévelopées spécifiquement pour ce client et non encore propagées au dépôt commun), ou ne pas contenir certaines contributions (pour limiter l’introduction d’incompatibilités).
Le dépôt gnucobol-config-$CLIENT est un dépôt contenant parfois une configuration spécifique à l’application d’un client. En effet, certains patrimoines utilisent parfois une combinaison de fonctionalités ne correspondant pas aux configurations par défaut de GnuCOBOL. Nous fournissons alors une configuration spécifique à utiliser pour compiler les sources COBOL du client.
Extensions disponibles dans votre version
Chaque dépôt pouvant contenir des contributions différentes, il est possible de lister facilement les contributions que contient votre version. Pour cela, il y a 2 possibilités:
Vous pouvez regarder, dans le dépôt GIT, le contenu du dossier
CHANGES-superbol/à la racine de GnuCOBOL. Ce dossier contient un fichier par contribution. Vous pouvez alors vérifier si la contribution qui vous intéresse apparaît dans ce dossier.Vous pouvez lancer la commande
cobc --superbol-features, qui affiche la liste des contributions que ce compilateur intègre:
$ cobc --superbol-features
cobc (GnuCOBOL) 3.3-dev.0
SuperBOL features:
- 2025-11-20-odo-in-redefines
- 2025-11-25-allow-spaces-between-parens-in-PICTURE-la-MF
... [suite de l'output] ...Toutes les extensions
2025-11-20-odo-in-redefines: [MF-COMPAT] Cette extension autorise l’utilisation de
OCCURS DEPENDING ONdans unREDEFINES, quand la nouvelle option de configurationodo-in-redefinesest activée.2025-11-25-allow-spaces-between-parens-in-PICTURE-la-MF: [MF-COMPAT] Cette extension utilise autorise la présence d’espaces entre les parenthèses d’une
PICTURE, commePIC X( 9 **), quand la nouvelle option de configurationspace-in-pictureest activée.2025-11-25-inspect-with-or: [MF-COMPAT] Cette extension permet l’utilisation de
ORaprès unINSPECT ... BEFOREouINSPECT ... AFTER, commeINSPECT str TALLYING counter FOR CHARACTERS BEFORE "1" OR "2".2025-11-25-new-level-heuristics: [MF-COMPAT] Cette extension permet de tolérer beaucoup plus de points manquants dans la DATA DIVISION, en utilisant une nouvelle heuristique pour la détection des numéros indiquant les niveaux. Attention: elle peut introduire des régressions par rapport à des codes fonctionnant déjà avec GnuCOBOL. Ces régressions doivent nous être signalées pour corriger le comportement.
2025-11-25-print-token: Cette extension introduit l’option
-fdump-tokensqui permet d’aider au debug du parser.2025-11-28-better-out-of-bounds-messages: [Ergonomie] Cette extension améliore les messages d’erreurs en cas de débordement, typiquement pour afficher les valeurs et les bornes.
2026-01-12-compatibility-autoconf-2.69: Cette extension permet d’utiliser des versions d’
autoconfà partir de 2.69 au lieu de 2.702026-01-15-fix-sign-normalization-on-MOVE: [BUGFIX] Cette extension corrige un comportement qui empêche une normalisation du signe lors d’un
MOVEquand unDISPLAY NUMERICn’a pas été signé correctement à l’initialisation.2026-02-05-add-superbol-testsuite: Cette extension introduit une nouvelle testsuite spécifique à SuperBOL.
2026-02-05-shared-superbol-config: Cette extension introduit une configuration commune pour toutes les options introduites par les extensions de SuperBOL.
2026-02-06-superbol-atscript-tests: Cette extension introduit un nouveau format basé sur
autofoncepour certains tests de non-regression de SuperBOL.2026-02-07-allow-more-extra-dots: [BUGFIX] Cette extension corrige un comportement erronné de GnuCOBOL qui ne supporte pas des points redondants s’ils sont séparés par des directives de lignes, typiquement introduites par des
COPY.2026-02-08-allow-unterminated-strings: [MF-COMPAT] Cette extension autorise l’absence de terminateur de chaîne, quand la nouvelle option de configuration
unterminated-stringest activée.2026-02-08-missing-dot-after-SPECIAL-NAMES: [MF-COMPAT] Cette extension autorise l’absence d’un point à la fin des instructions dans
SPECIAL-NAMES, juste avantINPUT-OUTPUT,DATA DIVISIONouPROCEDURE DIVISION.2026-02-08-missing-dot-before-or-after-FD: [MF-COMPAT] Cette extension autorise l’absence de point dans un champ avant ou après
FDouSD.2026-02-17-autostop: [Ergonomie]. Cette extension permet d’interrompre une commande COBOL en milieu de batch à l’aide d’une variable d’environnement pour lancer une session de debug dessus. Voir la section Interrupteur de Batch
2026-03-10-handle-spzero: [MF-COMPAT] support de compatibilité avec l’option
SPZEROdu compilateur Micro-Focus