GnuCOBOL
From Wikipedia, the free encyclopedia
GnuCOBOL (以前はOpenCOBOL、GNU Cobolと呼ばれていた)は、 COBOLプログラミング言語の自由ソフトウェアとしての実装である。 GnuCOBOLは、ネイティブCコンパイラを使用するC言語へのトランスコンパイラである[2]。 もともと西田圭介が設計していたものを、ロジャー・ホワイルが主導して開発された。最新の開発は現在、Simon Sobisch、Ron Norman、Edward Hart、SergeyKashyrinおよび他の多くによって主導されている[3]。
|
GnuCOBOLのロゴマーク。 | |||
| 作者 | Keisuke Nishida, Roger While | ||
|---|---|---|---|
| 開発元 | Edward Hart, Sergey Kashyrin, Ron Norman, Simon Sobisch 他多数 | ||
| 初版 | 2002年1月25日 | ||
| 最新版 |
3.1rc-1
/ 2020年7月7日 | ||
| 最新評価版 |
| ||
| リポジトリ | |||
| プログラミング 言語 | C言語。C++のブランチも存在。 | ||
| サイズ | 2 MB | ||
| 対応言語 | 5言語 | ||
|
対応言語一覧 英語、ドイツ語、イタリア語、日本語、スペイン語 | |||
| 種別 | プログラミング言語 | ||
| ライセンス | GPL 3.0かそれ以降、LGPL 3.0かそれ以降 | ||
| 公式サイト |
gnu | ||
歴史
西田はRildo Praganaと一緒にTinyCOBOLに取り組んでいるときに、gccとの統合に適したCOBOLコンパイラを試すことにした。これはすぐにOpenCOBOLプロジェクトになった。西田は2005年のバージョン0.31まで主任開発者として働いていた。その後、ロジャーがリードを引き継ぎ、2007年12月27日にOpenCOBOL1.0をリリースした。 OpenCOBOL 1.1プレリリースの作業は、2009年2月まで続けられた。 2012年5月、開発場所がSourceForgeに移され、2009年2月のプレリリースがリリースとしてマークされた[4] 。 2013年9月下旬に、OpenCOBOLはGNUプロジェクトとして承認され、GNU Cobolに名前が変更され、2014年9月に最終的にGnuCOBOLに名前が変更された[5] 。 ロン・ノーマンはGnuCobol2.0のブランチとしてReportWriterモジュールを追加し、Sergey KashyrinはC言語の代わりにC++中間体を使用するバージョンを開発した[6]。
最新の現在のリリースは、2020年7月7日に発行されたv3.1Finalである。
GnuCOBOLソースコード(GNU CobolおよびOpenCOBOLスペルのバージョンを含む)のフリーソフトウェア財団への著作権の譲渡は、2015年6月17日に完了した [7]。
哲学
COBOL 2014仕様までのCOBOL標準に準拠し、既存のコンパイラに共通の機能を含めるようにしているものの、開発者は標準への準拠を明確にはしていない[8]。 それでも、2.2 Finalリリースは、NIST COBOL 85テストスイートに含まれている9,708項目(20が削除されているため)のテストうちの9,688項目(99.79%)に合格している[9]。
GnuCOBOLは、 COBOLプログラム(ソースコード)をCプログラムに変換する。次に、Cプログラムを、コンピューターで使用される実際のコード(オブジェクトコード)または他のプログラムが呼び出す(リンクする)ことができるライブラリにコンパイルする。 UNIXおよび同様のオペレーティングシステム(Linuxなど)では、GNU Cコンパイラが使用される。 Windowsの場合、Microsoft Visual Studio ExpressパッケージのCコンパイラを利用できる。 2段階で行うコンパイルは通常、1つのコマンドで実行されるが、Cコードが生成された後、プログラマーがコンパイルを停止できるようにするオプションがある[10]。
ドキュメンテーション
opencobol.orgサイトは、2002年から2012年まで開発チームの公式ホームであり、上流の開発情報の最良の情報源であった[11]。 ただし、最近のすべて[いつ?]の開発はGnuCOBOLSourceForgeプロジェクトスペース内で行われている。
Gary CutlerによるGnuCOBOLプログラマーズガイドは、 GNU Free Documentation Licenseの下で公開された[10]。 Report Writer付きのGnuCOBOLを含むように更新され、コードツリーの最新バージョンとともにGnuCOBOLドキュメントの概要ページに一覧表示される[12]。 新しいコンパイラバージョンが発行されるたびに、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.
* ----------------------------------------