Loading article…
| 開発者 | ボブ・ベマー |
|---|---|
| 初登場 | 1957 |
| 影響を受けた | |
| フローマティック | |
| 影響を受けた | |
| コボル | |
COMTRAN (COMmercial TRANslator) は、IBMで開発された初期のプログラミング言語です。科学プログラミング言語FORTRAN (FORmula TRANslator) のビジネス プログラミング版として意図されました。これは、COBOL言語の先駆けの 1 つとなりました。1957 年にBob Bemerによって開発されたこの言語は、ピクチャー句と呼ばれるプログラミング言語要素を初めて採用した言語です。
COBOLへの貢献
COMTRAN のいくつかの要素が COBOL に組み込まれました。
- 画像条項。
- 段落分け: コードを段落に分割します (改行は重要ではありません)。
- 段落名。段落に名前を割り当て、ジャンプ (
GO TO) は行番号ではなく段落名に対して行われます。 AT ENDファイル入力操作に関する句。- 比喩的な定数
HIGH-VALUE。 RETURN-CODEプログラム終了時に数値 ( ) をオペレーティング システムに返します。
画像条項
ピクチャー句要素は、特定のデータ項目を出力用にフォーマットする方法を定義します。これは、文字と数字の文字列で構成されます。これは、READ および WRITE ステートメントで見られる FORTRAN フォーマット指定子、または C などのより新しい言語で見られるフォーマット文字列に似ています。これは、COBOL の重要な部分になりました。
サンプルプログラム
これは給与計算を行うサンプルCOMTRANプログラムです。[1]
01001 *手順01002 CALL (従業員.番号) EMPLOYNO 、01003 (債券控除) BONDEDUCT 、01004 (債券金額) BONDENOM 、01005 (債券累積) BONDACCUM 、01006 (保険.保険料) INSPREM 、01007 (退職金.保険料) RETPREM 、01008 (部門.合計) DPT。01009開始。すべてのファイルを開く。01010取得。マスター。GET MASTER 、AT END DO END。OF . MASTERS。01011取得。詳細。GET DETAIL 、AT END ENDに移動します。. OF . DETAILS 。01012比較. EMPLOYEE . NUMBERS 。COMPATET . PAYに進みます。DETAIL EMPLOYNO 01013がMASTER EMPLOYNOと等しい場合、LOW . DETAIL 、DETAIL 01014 EMPLOYNOがMASTER EMPLOYNOより小さい場合。01015 HIGH . DETAIL 。'M 'をMASTER ERRORCODEに移動します。FILE MASTER IN 01016 ERROR . FILE 。01017 GET MASTER 、AT ENDに移動します。. OF . MASTERS 。01018比較. EMPLOYEE . NUMBERSに進みます。02001 LOW 。詳細.移動
'D'でエラーコードの詳細、ファイルの詳細02002エラー。ファイル。02003 GETに進みます。02004 MASTERSの終わり。DETAIL EMPLOYNO = HIGH . VALUEの場合は02005に進みます。END . OF . RUNそれ以外の場合はMASTER EMPLOYNO = HIGH . VALUEに設定します。02006 DETAILSの終わり。MASTEREMPLOYNO = HIGH . VALUEの場合は02007に進みます。END . OF . RUNそれ以外の場合はDETAIL EMPLOYNO = HIGH . VALUEに設定し、02008に進みます。従業員番号を比較します。02009 END . OF . RUN .対応する総計を給与記録に移動、ファイル02010給与記録、すべてのファイルを閉じる。02011 1234を停止する。02012計算する。支払う。詳細時間が40より大きい場合は詳細を設定する。 02013 GROSS = (詳細時間- 40 ) *マスターレート* 1 . 5 . 02014詳細GROSS =詳細GROSS +マスターレート* 40を設定し、実行する。02015 FICA .ルーチン、源泉徴収.税金.ルーチンを実行する。02016マスターの場合
BONDEDUCTがゼロでない場合は、02017 BONDを実行します。ROUTINE を実行します。02018 INDEX = 1 ( 1 ) 12を検索します。02019 NETを実行します。PAYRECORD NETPAY = DETAIL GROSS - DETAIL FICA - DETAIL 02020 WHT - DETAIL RETIREMENT - DETAIL INSURANCE - DETAIL 02021 BONDEDUCTを実行します。
参考文献
- ^ IBM F28-8043 Commercial Translator General Reference Manual、1960年6月版の87ページの例を参照(pdf、8.2M)
さらに読む
- IBM の初期のコンピュータ、Charles Bashe、Lyle Johnson、John Palmer、Emerson Pugh 著、1986 年、MIT Press、ISBN 0-262-02225-7。
外部リンク
- 系図プログラマーが 1958 年に Y2K を解決 2007-03-04 にWayback Machineでアーカイブ
- IBM Commercial Translator 一般リファレンス マニュアル (pdf、8.2M) 87 ページ。
