GnuCOBOL (以前はOpenCOBOLGNU Cobolと呼ばれていた)は、 COBOLプログラミング言語のフリーソフトウェアとしての実装である。 GnuCOBOLは、ネイティブCコンパイラを使用するC言語へのトランスコンパイラである[1]。 もともと西田圭介が設計していたものを、ロジャー・ホワイルが主導して開発された。最新の開発は現在、Simon Sobisch、Ron Norman、Edward Hart、SergeyKashyrinおよび他の多くによって主導されている[2]

GnuCOBOL
作者 Keisuke Nishida, Roger While
開発元 Edward Hart, Sergey Kashyrin, Ron Norman, Simon Sobisch 他多数
初版 2002年1月25日 (22年前) (2002-01-25)
最新版
3.2 / 2023年7月28日 (8か月前) (2023-07-28)
最新評価版
3.1rc-1 / 2020年7月7日 (3年前) (2020-07-07)
リポジトリ https://svn.code.sf.net/p/gnucobol/code/trunk
プログラミング
言語
C言語C++のブランチも存在。
サイズ 2 MB
対応言語 英語、ドイツ語、イタリア語、日本語、スペイン語
種別 プログラミング言語
ライセンス GPL。ランタイムライブラリはLGPLに従う。
公式サイト https://www.gnu.org/software/gnucobol/
テンプレートを表示

歴史 編集

西田は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月にリリース

脚注 編集

 

  1. ^ https://ftp.gnu.org/gnu/gnucobol/README
  2. ^ Tiffin (2013年10月19日). “OpenCOBOL FAQ”. 2013年12月13日閲覧。
  3. ^ Tiffin (2013年10月19日). “OpenCOBOL FAQ”. 2013年12月13日閲覧。
  4. ^ Tiffin. “GNU Cobol is now a real thing”. 2013年10月5日時点のオリジナルよりアーカイブ。2013年10月1日閲覧。
  5. ^ Sobisch (2013年11月6日). “Work in Progress”. 2021年3月30日閲覧。
  6. ^ Tiffin. “State of the Project”. 2015年7月23日閲覧。
  7. ^ OpenCOBOL FAQ” (2013年10月17日). 2014年6月7日閲覧。 “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.”
  8. ^ OpenCOBOL FAQ”. 2013年10月9日閲覧。
  9. ^ a b Cutler. “OpenCOBOL Programmer's Guide”. Opencobol.addltocobol.com. 2021年3月30日閲覧。
  10. ^ An open-source COBOL compiler”. OpenCOBOL. 2012年11月20日閲覧。
  11. ^ Cutler. “GnuCOBOL Guides”. Opencobol.addltocobol.com. 2015年7月22日閲覧。
  12. ^ GnuCOBOL - Browse Files at”. Sourceforge.net (2007年12月27日). 2015年10月28日閲覧。
  13. ^ GnuCOBOL downloads at SourceForge
  14. ^ GnuCOBOL downloads at SourceForge
  15. ^ Debian -- Details of package open-cobol in buster”. packages.debian.org. 2021年3月30日閲覧。
  16. ^ GnuCOBOL downloads at SourceForge

外部リンク 編集