GnuCOBOL (以前はOpenCOBOL、GNU Cobolと呼ばれていた)は、 COBOLプログラミング言語の自由ソフトウェアとしての実装である。 GnuCOBOLは、ネイティブCコンパイラを使用するC言語へのトランスコンパイラであるhttps://ftp.gnu.org/gnu/gnucobol/README。 もともと西田圭介が設計していたものを、ロジャー・ホワイルが主導して開発された。最新の開発は現在、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年まで開発チームの公式ホームであり、上流の開発情報の最良の情報源であった。 ただし、最近のすべての開発はGnuCOBOLSourceForgeプロジェクトスペース内で行われている。
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ビルドシステムを使用する。 make checkを使った標準テストにはAutoconfを使用し、maketestで実行されるANSI85 make testスイートはPerlスクリプトを使う。
GnuCOBOLコンパイルをセットアップする構成スクリプトには、次のようなオプションがある。
Cコンパイラの選択と翻訳後コンパイルのためのそのオプション ISAMサポート用のデータベース管理システム iconvの包含
コード例 Hello, world! * ---- hello.cob ------------------------- IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN.
リリース履歴
Sourcesからのバージョン1.0リリース SourceForgeからのバージョン1.1リリースGnuCOBOL downloads at SourceForge SourceForgeからのバージョン2.0開発リリースGnuCOBOL downloads at SourceForge オープンCOBOLのDebianパッケージ バージョン2.2最終版、2017年9月7日にSourceForgeからリリースGnuCOBOL downloads at SourceForge バージョン2.2 ドキュメント、2017年9月にSourceForgeコードツリーからリリース バージョン3.1、ドキュメントとともに2020年7月にリリース
脚注
外部リンク
GNU site, official releases of GnuCOBOL
Open Source COBOL Consortium in Japan GnuCOBOL FAQ Add1ToCOBOL Open Source Cobol and OpenCOBOL advocacy site
New COBOL Users Group