cobol チュートリアル
コボルを始めよう
サーチ…
備考
COBOLはCO MMON B usiness O が L anguageプログラミングrientedあります。
COBOLは発音可能な名前になったにもかかわらず、依然として標準化委員会によって略語として扱われています。COBOLは、ISOおよびINCITSの標準化団体が推奨するスペルです。
標準仕様
現在の仕様は
ISO / IEC 1989:2014情報技術 - プログラミング言語、その環境およびシステムソフトウェアインタフェース - プログラミング言語COBOL
その文書は2014年5月に出版され、標準団体の様々な支店から購入することができます。
http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51416
主な使用分野
ビジネス指向。これは通常、トランザクション処理を意味します。銀行、政府機関、保険業界は、COBOLアプリケーションの展開の主要分野です。 IBMメインフレーム・システムには通常、COBOLコンパイラーがインストールされています。 100以上のCOBOL方言が存在し、おそらくは10程度のバージョンが導入のシェアを占めています。これらのコンパイラのほとんどはプロプライエタリなシステムですが、フリーソフトウェアのCOBOLも利用できます。
カテゴリー
COBOLは、手続き型で不可欠な、コンパイルされたプログラミング言語です。 COBOL 2002仕様の時点で、オブジェクト指向の機能が標準に追加されました。
設計意図によって、COBOLは非常に冗長なプログラミング言語です。代数形式は許可されていますが、
COMPUTE I = R * B
初期の目的は、計算上の記述とデータ操作に完全な言葉を使用することでした。
MULTIPLY INTEREST-RATE BY BALANCE GIVING CURRENT-INTEREST ROUNDED MODE IS NEAREST-EVEN
このデザインの決定には、チャンピオンとディトラクターの両方があります。あまりにも冗長であると感じる人もいれば、構文によってビジネス環境の可読性が向上すると主張する人もいます。
小数演算
COBOLは、バイナリ内部表現を使用するほとんどの言語とは異なり、10進算術の周りに設計されています。 COBOLの仕様では、金融セクターでよく使われている言語の一面である、非常に正確な固定小数点の小数点演算が必要です。 COBOLでは、USAGE BINARYを使用することもできますが、小数点以下(10進数)の表現に傾きます。
歴史
COBOLは1950年代のもので、1960年に最初の実装が公開されました。
グレース・ホッパー(Grace Hopper)米海軍後編提督は、しばしばCOBOLに関連しており、開発の初期段階で言語に代わって擁護しています。彼女はCOBOLの設計と開発に関わった唯一の人ではありませんでしたが、しばしばCOBOLの母と呼ばれます。
政府や大企業による早期の支援のために、COBOLは何十年にもわたって広く使われてきました。それはいくつかのための誇りのポイントと、それが時代遅れであるとそれを見て他の人のための棘のままです。真実は、これらの極端な意見の間のどこかにある可能性があります。トランザクション処理に適用すると、COBOLは自宅にいます。最新のWebスクリーンやネットワーキングアプリケーションに適用すると、快適ではないかもしれません。
構造
COBOLプログラムは4つの部門に分かれています。
- 身分証明部門
- 環境部
- データ部
- 手順部
データの説明
小数点データを処理するように設計されているため、COBOLでは、グループ化された階層構造のPICTUREベースのデータ記述が可能です。
01 record-group.
05 balance pic s9(8)v99.
05 rate pic 999v999.
05 show-balance pic $Z(7)9.99.
これは、小数点の後に2桁を仮定した符号付き8桁の値としてbalance
を定義します。 rate
は、仮定小数点の前に3桁と3桁です。 show-balance
は、小数点の後2桁に先行して表示された少なくとも1桁の7桁(ゼロ抑制)の先頭のドル記号を持つ数値編集フィールドです。
balance
は計算に使用することができ、 show-balance
は表示目的にのみ使用され、計算命令では使用できません。
手続き文
COBOLは予約語の重い言語です。 MOVE、COMPUTE、MULTIPLY、PERFORM形式の長い形式の単語が標準仕様のほとんどを占めています。 COBOL 2014仕様では、300を超えるキーワードと47個の操作文が使用されています。多くのコンパイラ実装では、予約語リストにさらに多くが追加されています。
こんにちは世界
HELLO * HISTORIC EXAMPLE OF HELLO WORLD IN COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY "HELLO, WORLD".
STOP RUN.
パンチカードのレイアウトと大文字のみの入力の時代ははるかに遅れています。それでも、ほとんどのCOBOL実装は同じコードレイアウトを扱います。現在の実装でさえ、コンパイルされたものとプロダクションで同じ(しばしば大文字でさえ)に従います。
よくフォーマットされた最新の実装は次のようになります:
*> Hello, world
identification division.
program-id. hello.
procedure division.
display "Hello, world"
goback.
end program hello.
COBOLの実装によっては、以下のように短縮できます。
display "Hello, world".
通常、この形式では、COBOLコンパイラをリラックスした構文モードにするために、通常は必須のDIVISION
文の一部が欠落しているため、コンパイル時のスイッチが必要です。
COBOLは現在の仕様でも、デフォルトでFIXED形式のソースを想定しています。
2002年以前のCOBOL
カラム | エリア |
---|---|
1-6 | シーケンス番号エリア |
7 | インジケータ領域 |
8-12 | エリアA |
12-72 | エリアB |
73-80 | プログラム名エリア |
IBMメインフレーム・テキスト・エディターは、このフォーム用に構成されている場合もあります。
2002年以降、COBOL 2014では、領域AとBがマージされ、列255に拡張され、プログラム名領域が削除されました。
カラム | エリア |
---|---|
1-6 | シーケンス番号エリア |
7 | インジケータ領域 |
8- | プログラムテキストエリア |
実装定義列マージンRを通じた第8列は、通常は依然として列72に制限されていますが、仕様によって列255まで実行することができます。
COBOL 2002は、 FORMAT FREE
ソーステキストを導入しました。 シーケンスナンバーエリア 、 インジケーターエリア 、ソースラインは任意の長さにすることはできません(実装定義のマージンR制限まで、通常は1行あたり2048文字未満、通常は255)。
しかし、コンパイラはデフォルトでFORMAT FIXEDモードから始めます。通常、フリーフォーマットソースが認識される前に、コンパイルスイッチまたはコンパイラ指令機能があります。
bbbbbb >>SOURCE FORMAT IS FREE
ここで、 bbbbbb
は6個の空白またはその他の文字を表します。 (これらは初期の固定フォーマットモードシーケンス番号エリアの一部として無視されます。)
Mac OS Xにgnu-cobolをインストールする
gnu-cobolは自作システム経由で入手できます。
/Applications/Utilities/Terminal
からターミナルウィンドウを開くか、またはキーを押しながらCommand+Space
を押して"Terminal"
と入力します。
自作システムをインストールしていない場合は、入力するか、端末にコピー&ペーストして追加します。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
コマンドが終了したら、次のように入力します。
brew install gnu-cobol
つまり、Mac上でCobolプログラムをコンパイルできるようになりました。