GnuCOBOL (曾称OpenCOBOL 、GNU Cobol )是COBOL程式语言的免费版本,最初由Keisuke Nishida设计,由Roger While负责领导开发,最近的版本是由Simon Sobisch,Sergey Kashyrin,Ron Norman,Edward Hart和其他许多人领导。
在Tiny COBOL上与Rildo Pragana合作时,Keisuke决定尝试建立相容于GNU编译器套装的COBOL 语言编译器,很快便成立了OpenCOBOL。 Keisuke担任首席开发人员到2005年和版本0.31为止,接着由Roger While领导,并于2007年12月27日发布了OpenCOBOL 1.0。 OpenCOBOL 1.1预先发表版本的工作一直持续到2009年2月。 2012年5月,开发转移到SourceForge ,将2009年2月的预先发表版本标记为发行版本。 2013年9月下旬,OpenCOBOL 语言被接受为GNU项目 ,更名为GNU Cobol,最后于2014年9月更名为GnuCOBOL。 Ron Norman添加了一个Report Writer模块作为GnuCobol 2.0的一个分支,Sergey Kashyrin开发了一个使用C ++(而非C语言)作为中介的版本 。
目前最新的版本是2017年9月7日发布的v2.2 Final。
2015年6月17日,将GnuCOBOL 语言源代码(包括具有GNU Cobol和OpenCOBOL拼写的版本)的版权转让给自由软件基金会。
开发者力求与COBOL语言标准保持一致,符合当前的COBOL 2014规范,并包含现有编译器中常见的功能,但并不保证其标准一致性的程度。 即便如此,2.2最终版本通过了NIST COBOL 85测试套件中,9708个测试中的9,688个(99.79%),删除了20个。
GnuCOBOL将COBOL 语言程序(原始码)转换为C语言,然后将C语言程式码编译成电脑使用的机器语言代码(目标码),或其他程序可以呼叫(链接到)的库。 在UNIX和类似的操作系统(例如Linux )下,使用GNU C编译器;在微软Windows系统 ,Microsoft的Visual Studio Express提供了C编译器。 两阶段的编译通常可以由单个命令执行,但是使用者也可以选择只编译到C语言程式码即可。
2002年至2012年开发团队的官方主页是opencobol.org网站,也是上游开发资料的最佳来源。 但是最近的开发工作都在SourceForge项目空间内进行,其中也包含最新的GnuCOBOL 语言文件和信息。
由Gary Cutler撰写的OpenCOBOL程式设计指南是根据GNU自由文档许可证发布的, 已更新并包含GnuCOBOL 语言和Report Writer,并列在GnuCOBOL文件概述页面中。
000100* HELLO.COB GnuCOBOL example000200 IDENTIFICATION DIVISION.000300 PROGRAM-ID. hello.000400 PROCEDURE DIVISION.000500 DISPLAY "Hello, world!".000600 STOP RUN.