| 原作者 | 西田圭介、ロジャー・ホワイル |
|---|---|
| 開発者 | エドワード・ハート、セルゲイ・カシリン、ロン・ノーマン、サイモン・ソビッシュなど多数。 |
| 初回リリース | 2002年1月25日 |
| 安定リリース | 3.2 [1]
/ 2023年7月28日 |
| リポジトリ | sf.net/p/gnucobol/コード |
| 書かれた | C 、 C++ブランチあり |
| サイズ | 2MB |
| 利用可能 | 英語、ドイツ語、イタリア語、日本語、スペイン語 |
| タイプ | プログラミング言語 |
| ライセンス | GPLとLGPLのランタイム ライブラリ |
| Webサイト | gnu.org/ソフトウェア/gnucobol |
GnuCOBOL(以前はOpenCOBOL、略してGNU Cobolとして知られていました)は、GNUプロジェクトの一部であるCOBOLプログラミング言語の無料実装です。GnuCOBOLはCOBOLコードをCに変換し、ネイティブCコンパイラを使用してコンパイルします。[2]
歴史
Rildo Pragana と TinyCOBOL で協力しながら、 Keisuke Nishida はGCCとの統合用に設計された COBOL コンパイラの開発を開始し、これがOpenCOBOLプロジェクトの創設につながりました。Nishida は 2005 年までバージョン 0.31 まで主任開発者を務めました。Roger While が主任開発者として彼の後を継ぎ、2007 年 12 月 27 日に OpenCOBOL 1.0 をリリースしました。OpenCOBOL 1.1 プレリリースの開発は 2009 年 2 月まで続きました。2012 年 5 月に、アクティブな開発はSourceForgeに移行し、2009 年 2 月のプレリリースが正式にリリースとしてマークされました。[3] 2013年9月下旬、OpenCOBOLはGNUプロジェクトとして承認され、GNU Cobolに改名され、最終的に2014年9月にGnuCOBOLに改名されました。 [4] Ron NormanはGnuCobol 2.0のブランチとしてレポートライターモジュールを寄稿し、Sergey KashyrinはCの代わりにC++中間体 を使用するバージョンを開発しました。[5]
GnuCOBOLソースコード(GNU CobolおよびOpenCOBOLの綴りのバージョンを含む)の著作権をフリーソフトウェア財団に譲渡することが2015年6月17日に完了しました。[6]
最新のリリースは v3.2 で、2023 年 7 月 28 日にリリースされました。
哲学
開発者は、 COBOL 2014仕様や既存のコンパイラによく見られる機能を含むCOBOL標準に準拠することを目指していますが、正式な標準準拠レベルを主張していません。 [7]それにもかかわらず、2.2最終リリースは、 NISTテストスイートの9,708のテストのうち9,688(99.79%)に合格し、20のテストは除外されました。[8]
GnuCOBOLはCOBOLプログラム(ソースコード)をCプログラムに変換します。Cプログラムは、コンピュータが実際に使用するコード(オブジェクトコード)にコンパイルすることも、他のプログラムが呼び出す(リンクする)ことができるライブラリにコンパイルすることもできます。UNIXや同様のオペレーティングシステム( Linuxなど)では、このプロセスにGNU Cコンパイラが使用されます。Windowsでは、MicrosoftのVisual Studio Expressパッケージで提供されるCコンパイラが使用されます。2段階のコンパイルプロセスは通常、1つのコマンドで実行されますが、Cコードが生成された後にプロセスを停止するオプションがあります。[9]
ドキュメント
2002年から2012年まで、開発チームの公式ホームはopencobol.orgウェブサイトであり、上流開発情報の主な情報源として機能していました。[10]しかし、最近では[いつ? ]開発はGnuCOBOLの下のSourceForgeプロジェクトスペースに移行しました。
Gary Cutler による GnuCOBOL プログラマーズ ガイドは、GNU フリー ドキュメンテーション ライセンスの下で公開されました。[9]これは、Report Writer を含むように更新され、GnuCOBOL ドキュメントの概要ページにコード ツリーの最新バージョンとともに記載されています。[11]これは現在、新しいコンパイラ バージョンが発行されるたびに Vincent Coen らによって保守されており、GnuCOBOL - GNU プロジェクトで入手できます。
サンプルプログラム
歴史的
000100* HELLO.COB GnuCOBOL の例
000200識別部. 000300プログラム ID . hello . 000400手続き部. 000500 「Hello, world!」と表示. 000600停止実行.
コンパイルと実行:
$ cobc -x HELLO.COB
$ ./HELLO
こんにちは、世界!
モダンで自由なフォーマット
*> GnuCOBOL Hello World の例
id部.プログラム id . hello .手続き部. 「Hello, world!」と表示終了表示戻る.
コンパイルと実行:
$ cobc -x -free hello.cob
$ ./hello
こんにちは、世界!
最短
GnuCOBOL 2.0 の緩和された構文オプションを使用した、最も短い有効な COBOL プログラムは空のファイルです。コンパイルと実行:
$ cobc -x -frelax-syntax ./empty.cob
./empty.cob: 1: 警告: PROGRAM-ID ヘッダーがありません -
$ ./empty
$と想定されます
以前のバージョンおよび緩和された構文の場合:
「Hello, world!」と表示します。
コンパイルと実行:
$ cobc -x -frelax-syntax -free hello.cob
hello.cob: 1: 警告: PROGRAM-ID ヘッダーが見つからない - と想定
hello.cob: 1: 警告: PROCEDURE DIVISION ヘッダーが見つからない - と想定
$ ./hello
Hello, world!
緩和された構文を使用せず、GnuCOBOL、GNU Cobol、または OpenCOBOL のいずれかのバージョンを使用します。(注: FIXED レイアウトの COBOL ソースに準拠するために、先頭に 7 つのスペースがあります):
プログラム ID . h .手続き部. 「Hello, world!」と表示.
コンパイルはエラーなしで実行されます:
$ cobc -x smallest.cob
$ ./smallest
こんにちは、世界!
これらのトリビアのリストは、COBOL の適切な形式として見なされるべきではないことに注意してください。COBOL は、読みやすい英語のプログラミング言語として設計されています。
実装
パーサーと字句スキャナはBisonとFlex を使用します。GPLライセンスのコンパイラとLGPLライセンスのランタイム ライブラリはCで記述されており、外部プログラム リンクには C ABIを使用します。
ビルド パッケージングにはGNU ビルド システムを使用します。Autoconf を使用した標準テスト、make check Perlスクリプトを使用して実行される ANSI85 テストスイートを使用します。
make test
GnuCOBOL コンパイルを設定する configure スクリプトには、次のオプションがあります。
- Cコンパイラの選択と翻訳後のコンパイルオプション
- ISAM をサポートするデータベース管理システム
- iconvの組み込み
可用性
- SourceForgeからの1.0リリース。[12]
- SourceForgeからの1.1リリース[13]
- SourceForgeからの2.0開発リリース[14]
- open-cobol Debianパッケージ。[15]
- 2.2 Final、2017年9月7日にSourceForgeからリリース[16]
- 2.2 ドキュメント、2017 年 9 月に SourceForge コード ツリーからリリースされました。
- 3.1 はドキュメントとともに 2020 年 7 月にリリースされました。
- 3.2 はドキュメントとともに 2023 年 7 月にリリースされます。
参考文献
- ^ Simon Sobisch (2023年7月28日). 「GnuCOBOL 3.2のリリース」 。 2023年7月29日閲覧。
- ^ 「README」. ftp.gnu.org .
- ^ Tiffin, Brian (2013 年 10 月 19 日)。「OpenCOBOL FAQ」。OpenCOBOL の現在のバージョンは何ですか? 。2013 年12 月 13 日閲覧。
- ^ Tiffin, Brian. 「GNU Cobol は今や現実のものとなった」。2013 年 10 月 5 日時点のオリジナルよりアーカイブ。2013年10 月 1 日閲覧。
- ^ Sobisch, Simon (2013年11月6日). 「進行中の作業」. GNU Cobol 2.0 C++. 2020年5月10日時点のオリジナルよりアーカイブ。2014年5月11日閲覧。
- ^ Tiffin, Brian. 「State of the Project」。2016年3月7日時点のオリジナルよりアーカイブ。2015年7月23日閲覧。
- ^ 「OpenCOBOL FAQ」。2013 年 10 月 17 日。OpenCOBOL はどの程度完成していますか? 。2014年6 月 7 日閲覧。OpenCOBOL
は高い品質と堅牢性を備えていますが、著者はこれを COBOL の「標準準拠」実装であると主張していません。
- ^ 「OpenCOBOL FAQ」。OpenCOBOL は NIST テスト スイートに合格しますか? 。2013 年10 月 9 日閲覧。
- ^ ab Cutler, Gary. 「OpenCOBOL プログラマーズ ガイド」(PDF) . Opencobol.addltocobol.com . 2012 年11 月 20 日閲覧。
- ^ 「オープンソースの COBOL コンパイラ」。OpenCOBOL。2012年11 月 20 日閲覧。
- ^ Cutler, Gary. 「GnuCOBOL ガイド」。Opencobol.addltocobol.com。2015年7 月 22 日閲覧。
- ^ 「GnuCOBOL - ファイルの参照」。Sourceforge.net。2007 年 12 月 27 日。2015 年10 月 28 日閲覧。
- ^ SourceForge での GnuCOBOL のダウンロード
- ^ SourceForge での GnuCOBOL のダウンロード
- ^ 「Debian -- buster のパッケージ open-cobol の詳細」。packages.debian.org。
- ^ SourceForge での GnuCOBOL のダウンロード
外部リンク
- GNU サイト、GnuCOBOL の公式リリース
- SourceForgeの GnuCOBOL
- 日本オープンソースCOBOLコンソーシアム
- GnuCOBOL よくある質問
- Add1ToCOBOL オープンソース COBOL および OpenCOBOL 推進サイト
- SourceForgeの tiny-cobol
