GnuCOBOL
作者 | Keisuke Nishida, Roger While |
---|---|
開発元 | Edward Hart, Sergey Kashyrin, Ron Norman, Simon Sobisch 他多数 |
初版 | 2002年1月25日 |
最新版 |
3.2
/ 2023年7月28日 |
最新評価版 |
3.1rc-1
/ 2020年7月7日 |
リポジトリ | https://svn.code.sf.net/p/gnucobol/code/trunk |
プログラミング 言語 | C言語。C++のブランチも存在。 |
サイズ | 2 MB |
対応言語 | 英語、ドイツ語、イタリア語、日本語、スペイン語 |
種別 | プログラミング言語 |
ライセンス | GPL。ランタイムライブラリはLGPLに従う。 |
公式サイト | https://www.gnu.org/software/gnucobol/ |
GnuCOBOL (以前はOpenCOBOL、GNU Cobolと呼ばれていた)は、 COBOLプログラミング言語のフリーソフトウェアとしての実装である。 GnuCOBOLは、ネイティブCコンパイラを使用するC言語へのトランスコンパイラである[1]。 もともと西田圭介が設計していたものを、ロジャー・ホワイルが主導して開発された。最新の開発は現在、Simon Sobisch、Ron Norman、Edward Hart、SergeyKashyrinおよび他の多くによって主導されている[2]。
歴史
[編集]西田はRildo Praganaと一緒にTinyCOBOLに取り組んでいるときに、gccとの統合に適したCOBOLコンパイラを試すことにした。これはすぐにOpenCOBOLプロジェクトになった。西田は2005年のバージョン0.31まで主任開発者として働いていた。その後、ロジャーがリードを引き継ぎ、2007年12月27日にOpenCOBOL1.0をリリースした。 OpenCOBOL 1.1プレリリースの作業は、2009年2月まで続けられた。 2012年5月、開発場所がSourceForgeに移され、2009年2月のプレリリースがリリースとしてマークされた[3] 。 2013年9月下旬に、OpenCOBOLはGNUプロジェクトとして承認され、GNU Cobolに名前が変更され、2014年9月に最終的にGnuCOBOLに名前が変更された[4] 。 ロン・ノーマンはGnuCobol2.0のブランチとしてReportWriterモジュールを追加し、Sergey KashyrinはC言語の代わりにC++中間体を使用するバージョンを開発した[5]。
最新の現在のリリースは、2020年7月7日に発行されたv3.1Finalである。
GnuCOBOLソースコード(GNU CobolおよびOpenCOBOLスペルのバージョンを含む)のフリーソフトウェア財団への著作権の譲渡は、2015年6月17日に完了した [6]。
哲学
[編集]COBOL 2014仕様までのCOBOL標準に準拠し、既存のコンパイラに共通の機能を含めるようにしているものの、開発者は標準への準拠を明確にはしていない[7]。 それでも、2.2 Finalリリースは、NIST COBOL 85テストスイートに含まれている9,708項目(20が削除されているため)のテストうちの9,688項目(99.79%)に合格している[8]。
GnuCOBOLは、 COBOLプログラム(ソースコード)をCプログラムに変換する。次に、Cプログラムを、コンピューターで使用される実際のコード(オブジェクトコード)または他のプログラムが呼び出す(リンクする)ことができるライブラリにコンパイルする。 UNIXおよび同様のオペレーティングシステム(Linuxなど)では、GNU Cコンパイラが使用される。 Windowsの場合、Microsoft Visual Studio ExpressパッケージのCコンパイラを利用できる。 2段階で行うコンパイルは通常、1つのコマンドで実行されるが、Cコードが生成された後、プログラマーがコンパイルを停止できるようにするオプションがある[9]。
ドキュメンテーション
[編集]opencobol.orgサイトは、2002年から2012年まで開発チームの公式ホームであり、上流の開発情報の最良の情報源であった[10]。 ただし、最近のすべて[いつ?]の開発はGnuCOBOLSourceForgeプロジェクトスペース内で行われている。
Gary CutlerによるGnuCOBOLプログラマーズガイドは、 GNU Free Documentation Licenseの下で公開された[9]。 Report Writer付きのGnuCOBOLを含むように更新され、コードツリーの最新バージョンとともにGnuCOBOLドキュメントの概要ページに一覧表示される[11]。 新しいコンパイラバージョンが発行されるたびに、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リリース[12]
- SourceForgeからのバージョン1.1リリース[13]
- SourceForgeからのバージョン2.0開発リリース[14]
- オープンCOBOLのDebianパッケージ[15]
- バージョン2.2最終版、2017年9月7日にSourceForgeからリリース[16]
- バージョン2.2 ドキュメント、2017年9月にSourceForgeコードツリーからリリース
- バージョン3.1、ドキュメントとともに2020年7月にリリース
脚注
[編集]
- ^ https://ftp.gnu.org/gnu/gnucobol/README
- ^ Tiffin (2013年10月19日). “OpenCOBOL FAQ”. 2013年12月13日閲覧。
- ^ Tiffin (2013年10月19日). “OpenCOBOL FAQ”. 2013年12月13日閲覧。
- ^ Tiffin. “GNU Cobol is now a real thing”. 2013年10月5日時点のオリジナルよりアーカイブ。1 October 2013閲覧。
- ^ Sobisch (6 November 2013). “Work in Progress”. 2021年3月30日閲覧。
- ^ Tiffin. “State of the Project”. 23 July 2015閲覧。
- ^ “OpenCOBOL FAQ” (17 October 2013). 7 June 2014閲覧。 “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.”
- ^ “OpenCOBOL FAQ”. 9 October 2013閲覧。
- ^ a b Cutler. “OpenCOBOL Programmer's Guide”. Opencobol.addltocobol.com. 2021年3月30日閲覧。
- ^ “An open-source COBOL compiler”. OpenCOBOL. 2012年11月20日閲覧。
- ^ Cutler. “GnuCOBOL Guides”. Opencobol.addltocobol.com. 2015年7月22日閲覧。
- ^ “GnuCOBOL - Browse Files at”. Sourceforge.net (2007年12月27日). 2015年10月28日閲覧。
- ^ GnuCOBOL downloads at SourceForge
- ^ GnuCOBOL downloads at SourceForge
- ^ “Debian -- Details of package open-cobol in buster”. packages.debian.org. 2021年3月30日閲覧。
- ^ GnuCOBOL downloads at SourceForge