GnuCOBOL

GnuCOBOL （以前はOpenCOBOL、GNU Cobolと呼ばれていた）は、 COBOLプログラミング言語のフリーソフトウェアとしての実装である。 GnuCOBOLは、ネイティブCコンパイラを使用するC言語へのトランスコンパイラである。 もともと西田圭介が設計していたものを、ロジャー・ホワイルが主導して開発された。最新の開発は現在、Simon Sobisch、Ron Norman、Edward Hart、SergeyKashyrinおよび他の多くによって主導されている。
歴史.
西田はRildo Praganaと一緒にTinyCOBOLに取り組んでいるときに、gccとの統合に適したCOBOLコンパイラを試すことにした。これはすぐにOpenCOBOLプロジェクトになった。西田は2005年のバージョン0.31まで主任開発者として働いていた。その後、ロジャーがリードを引き継ぎ、2007年12月27日にOpenCOBOL1.0をリリースした。 OpenCOBOL 1.1プレリリースの作業は、2009年2月まで続けられた。 2012年5月、開発場所がSourceForgeに移され、2009年2月のプレリリースがリリースとしてマークされた 。 2013年9月下旬に、OpenCOBOLはGNUプロジェクトとして承認され、GNU Cobolに名前が変更され、2014年9月に最終的にGnuCOBOLに名前が変更された 。 ロン・ノーマンはGnuCobol2.0のブランチとしてReportWriterモジュールを追加し、Sergey KashyrinはC言語の代わりにC++中間体を使用するバージョンを開発した。 
最新の現在のリリースは、2020年7月7日に発行されたv3.1Finalである。
GnuCOBOLソースコード（GNU CobolおよびOpenCOBOLスペルのバージョンを含む）のフリーソフトウェア財団への著作権の譲渡は、2015年6月17日に完了した 。 
哲学.
COBOL 2014仕様までのCOBOL標準に準拠し、既存のコンパイラに共通の機能を含めるようにしているものの、開発者は標準への準拠を明確にはしていない。 それでも、2.2 Finalリリースは、NIST COBOL 85テストスイートに含まれている9,708項目（20が削除されているため）のテストうちの9,688項目（99.79％）に合格している。 
GnuCOBOLは、 COBOLプログラム（ソースコード）をCプログラムに変換する。次に、Cプログラムを、コンピューターで使用される実際のコード（オブジェクトコード）または他のプログラムが呼び出す（リンクする）ことができるライブラリにコンパイルする。 UNIXおよび同様のオペレーティングシステム（Linuxなど）では、GNU Cコンパイラが使用される。 Windowsの場合、Microsoft Visual Studio ExpressパッケージのCコンパイラを利用できる。 2段階で行うコンパイルは通常、1つのコマンドで実行されるが、Cコードが生成された後、プログラマーがコンパイルを停止できるようにするオプションがある。 
ドキュメンテーション.
opencobol.orgサイトは、2002年から2012年まで開発チームの公式ホームであり、上流の開発情報の最良の情報源であった。 ただし、最近のすべての開発はSourceForgeプロジェクトスペース内で行われている。
Gary CutlerによるGnuCOBOLプログラマーズガイドは、 GNU Free Documentation Licenseの下で公開された。 Report Writer付きのGnuCOBOLを含むように更新され、コードツリーの最新バージョンとともにGnuCOBOLドキュメントの概要ページに一覧表示される。 新しいコンパイラバージョンが発行されるたびに、Vincent Coen、James K. Lowdenなどによって保守され、 GnuCOBOL-GNUProjectで入手できる。
実装.
パーサーと字句スキャナはBisonとFlexを使用している。 GPLライセンスのコンパイラとLGPLライセンスのランタイムライブラリはC言語で記述されており、外部プログラムのリンクにはCABIを使用する。
ビルドパッケージはGNUビルドシステムを使用する。 codice_1を使った標準テストにはAutoconfを使用し、maketestで実行されるANSI85 codice_2スイートはPerlスクリプトを使う。
GnuCOBOLコンパイルをセットアップする構成スクリプトには、次のようなオプションがある。