Le texte ne doit pas être écrit en capitales (les noms de famille non plus), ni en gras, ni en italique, ni en « petit »…
Le gras n'est utilisé que pour surligner le titre de l'article dans l'introduction, une seule fois.
L'italique est rarement utilisé : mots en langue étrangère, titres d'œuvres, noms de bateaux, etc.
Les citations ne sont pas en italique mais en corps de texte normal. Elles sont entourées par des guillemets français : « et ».
Les listes à puces sont à éviter, des paragraphes rédigés étant largement préférés. Les tableaux sont à réserver à la présentation de données structurées (résultats, etc.).
Les appels de note de bas de page (petits chiffres en exposant, introduits par l'outil « Source ») sont à placer entre la fin de phrase et le point final[comme ça].
Les liens internes (vers d'autres articles de Wikipédia) sont à choisir avec parcimonie. Créez des liens vers des articles approfondissant le sujet. Les termes génériques sans rapport avec le sujet sont à éviter, ainsi que les répétitions de liens vers un même terme.
Les liens externes sont à placer uniquement dans une section « Liens externes », à la fin de l'article. Ces liens sont à choisir avec parcimonie suivant les règles définies. Si un lien sert de source à l'article, son insertion dans le texte est à faire par les notes de bas de page.
GnuCOBOL (anciennement OpenCOBOL, et pendant une courte période connu sous le nom de GNU Cobol ) est une implémentation en logiciel libre du langage de programmation COBOL. GnuCOBOL est un transcompilateur vers C qui utilise ensuite un compilateur C pour générer du code natif[2]. Conçu à l'origine par Keisuke Nishida, son développement avait été repris par Roger While. Les développements les plus récents sont désormais dirigés par Simon Sobisch, Ron Norman, Edward Hart, Sergey Kashyrin et bien d'autres[3]. La société française OCamlPro participe au développement depuis janvier 2022.
Histoire
Alors qu'il travaillait avec Rildo Pragana sur TinyCOBOL, Keisuke Nishida décida d'essayer de développer un compilateur COBOL adapté à l'intégration avec GCC. Ce prototype est rapidement devenu le projet OpenCOBOL. Nishida a travaillé en tant que développeur principal jusqu'à la version 0.31 en 2005. Roger While a ensuite pris la direction du projet et a publié OpenCOBOL 1.0 le 27 décembre 2007. Les travaux sur la pré-version d'OpenCOBOL 1.1 se sont poursuivis jusqu'en février 2009. En mai 2012, le projet a été déplacé vers SourceForge et la pré-version de février 2009 a été marquée comme une version[4]. Fin septembre 2013, OpenCOBOL a été accepté en tant que projet GNU, renommé GNU Cobol, puis finalement GnuCOBOL en septembre 2014[5]. Ron Norman a ajouté un module Report Writer en tant que branche de GnuCobol 2.0, et Sergey Kashyrin a développé une version qui utilise des intermédiaires C++ au lieu de C[6].
Le transfert des copyrights à Free Software Foundation sur le code source de GnuCOBOL (incluant les versions nommées GNU Cobol et OpenCOBOL) a été finalisée le 17 juin 2015[7].
La dernière version stable est la v3.2, sortie le 28 juillet 2023, alors qu'une branche 4.0 est déjà en cours de développement.
Utilisation en production
Peu d'entreprises communiquent sur leur utilisation du langage COBOL, et il est donc difficile de connaître le nombre d'entreprises utilisant GnuCOBOL en production. En France, la DGFIP est en train de migrer l'un de ses plus gros programmes COBOL des mainframes GCOS de BULL vers des PCs tournant GnuCOBOL.
Le compilateur CobolIT, société française rachetée par OpenText/MicroFocus, est une version de OpenCOBOL modifiée. CobolIT étant utilisé par plusieurs dizaines d'entreprises, cela atteste de la maturité de la solution GnuCOBOL. Contrairement à GnuCOBOL dont les sources sont disponibles en ligne, les sources du compilateur CobolIT ne sont pas publiques, bien que sous la même licence que GnuCOBOL.
La société OCamlPro fournit une offre de support sur GnuCOBOL dans le cadre de son offre de service sur SuperBOL, studio de développement pour GnuCOBOL.
Philosophie
Tout en s'efforçant de rester conformes aux normes COBOL jusqu'à la spécification COBOL 2014 , et également d'inclure des fonctionnalités communes aux compilateurs existants, les développeurs ne revendiquent aucun niveau de conformité aux normes[8]. Malgré cela, la version finale 2.2 réussit plus de 9 688 (99,79 %) des tests inclus dans la suite de tests NIST COBOL 85, sur 9 708 (20 tests ayant été supprimés)[9].
GnuCOBOL traduit un programme COBOL (code source) en programme C. Le programme C peut ensuite être compilé en code natif utilisé par l'ordinateur (code objet) vers un programme ou vers une bibliothèque dynamique, que d'autres programmes peuvent appeler. Sous UNIX et les systèmes d'exploitation similaires (tels que Linux ), le compilateur GNU C est utilisé. Pour Windows, le package Visual Studio Express de Microsoft fournit le compilateur C. La compilation en deux étapes est généralement effectuée par une seule commande, mais il existe des options pour contrôler à quelle étape le compilateur s'arrête.
Documentation
Le site opencobol.org a été le site officiel de l'équipe de développement de 2002 à 2012 et la meilleure source d'informations sur le développement en amont[10].
La plupart des développements ont désormais lieu dans un projet SourceForge nommé GnuCOBOL.
Rećemment, une partie du développement sur la branche 3.x a lieu sur un mirroir Github hébergé par OCamlPro.
Le Guide du programmeur GnuCOBOL, de Gary Cutler, a été publié sous la licence de documentation libre GNU. Il a été mis à jour pour inclure GnuCOBOL avec Report Writer et est répertorié dans la page de présentation de la documentation GnuCOBOL avec les dernières versions dans l'arborescence de code. Il est maintenu par Vincent Coen et d'autres à mesure que chaque nouvelle version du compilateur est publiée et est disponible sur le projet GnuCOBOL.
Une version formattée au format Sphinx, plus facile à naviguer, est aussi disponible sur le site GnuCOBOL de SuperBOL.
Sans syntaxe libre et avec n'importe quelle version de GnuCOBOL, GNU Cobol ou OpenCOBOL (remarque, il y a 7 espaces de début pour se conformer à la source COBOL de disposition FIXED) :
Veuillez noter que ces exemples triviaux ne doivent pas être considérées comme de bonnes pratiques de programmes COBOL ; COBOL a été conçu pour être un langage de programmation en anglais lisible.
Mise en œuvre
L'analyse de syntaxe utilise Bison et Flex. Le préprocessing de GnuCOBOL est plus simple que celui du standard COBOL, qui exige quatre passes, mais les programmes exigeant ces quatre passes sont très rares.
Le compilateur sous licence GPL et les bibliothèques d'exécution sous licence LGPL sont écrits en C et utilisent C ABI pour la liaison de programmes externes.
Le système de compilation est basé sur les outils du GNU Build System. Les tests standard avec make check utilisent Autoconf, la suite de tests ANSI85 exécutée par make test utilise des scripts Perl. Pour faciliter ses contributions, OCamlPro a développé l'outil Autofonce, permettant en particulier la promotion automatique des tests modifiés.
Le script de configuration de la compilation de GnuCOBOL comporte des options qui incluent :
le choix du compilateur C et de ses options de compilation post-traduction
le système de gestion de base de données pour le support ISAM
↑« OpenCOBOL FAQ », (consulté le ) : « While OpenCOBOL can be held to a high standard of quality and robustness, the authors DO NOT claim it to be a “Standard Conforming” implementation of COBOL. »