LoginSignup
0
1

More than 3 years have passed since last update.

Gnu-COBOL プログラム実行

Last updated at Posted at 2020-08-28

書き方は昔ながら古い「正書法」とその後導入された「自由書式」の2種類

正書法

  • 厚手の紙に書かれたコードをパンチカードに転写してコンピュータに読み込ませるための書き方
1   12345678901234567890123456789012345678901234567890
2   ------ --A--+---------------------------- B ------
3   000000 IDENTIFICATION DIVISON.
4   000010 PROGRAM-ID.    HELLO.
5   000020 PROCEDURE      DIVISION.
6   000030 MAIN           SECTION.    
7   000040 DISPLAY        'hello world!'.
8   000050 STOP           RUN.
  • 1列目から6列目までは必ず「行番号」でなければいけない
  • 7列目はその行の区分コード
  • 8列目からコード
  • コードの後にコメント

自由書式

IDENTIFICATION DIVISON.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
  MAIN SECTION.    
    DISPLAY 'hello world!'.
    STOP RUN.
  • 列の制約はない
  • EOFは必ず改行
  • インデントで整形(しなくてもコンパイルは通る)

Hello Worldを表示する

hello.cobを作成

  • 拡張子は.cobが一般的
hello.cob
IDENTIFICATION DIVISON.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
  MAIN SECTION.
    DISPLAY 'hello world!'.
    STOP RUN.

コンパイルする

$ cobc -x --free hello.cob
オプション 意味
-x 実行ファイルを作成
-free 自由書式で作成する

cobc は 「COBOL Compiler」

コンパイルが成功 ![スクリーンショット 2020-08-29 2.12.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/320855/a62d8b39-38e6-2703-05f1-b1cebee3ad43.png) エラーが出なければコンパイル成功
実行ファイルが作成される ![スクリーンショット 2020-08-29 2.27.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/320855/02fd1a7e-dd57-add7-027f-1df2280eb6ed.png)


エラーの場合 コンパイルが失敗し実行ファイルは作成されない ![スクリーンショット 2020-08-29 2.20.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/320855/eebece61-b182-b7bf-51f8-53f2f56bfefe.png) `hello.cob: 6: warning: line not terminated by a newline` -> ファイルの終端が改行ではない `hello.cob: 1: error: syntax error, unexpected Identifier, expecting DIVISION` -> タイポ

実行

$ ./hello

スクリーンショット 2020-08-29 2.34.54.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1