COBOLの処理系を入れてみたよ!

### インストール packageからインストール。 ```sh pkg_add -r open-cobol ```コンパイルオプションの確認 ```sh cobc --help ```
### おためし
#### とりあえずHello Worldしてみる ```cobol IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. ENVIRONMENT DIVISION. DATA DIVISION. * WORKING-STORAGE SECTION. 01 GREETING-STRING. 10 STR01 PIC X(05). 10 FILLER PIC X(01) VALUES ' '. 10 STR02 PIC X(06). * PROCEDURE DIVISION. MAIN-RTN. MOVE 'HELLO' TO STR01. MOVE 'WORLD!' TO STR02. DISPLAY GREETING-STRING. MOVE 0 TO RETURN-CODE. EXIT PROGRAM. * ```折角なので、ちょっとだけ遠回りしてみたり。
#### コンパイルして実行 ```sh cobc -free -x test.cbl -o test.bin ./test.bin ```
#### 無理やりシェル内に書いてしまうとこんな感じ ```sh #!/bin/sh cblsrc=./cobolsrc.tmp cblbin=${cblsrc}.bin cat <<++EOS > $cblsrc IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. ENVIRONMENT DIVISION. DATA DIVISION. * WORKING-STORAGE SECTION. 01 GREETING-STRING. 10 STR01 PIC X(05). 10 FILLER PIC X(01) VALUES ' '. 10 STR02 PIC X(06). * PROCEDURE DIVISION. MAIN-RTN. MOVE 'HELLO' TO STR01. MOVE 'WORLD!' TO STR02. DISPLAY GREETING-STRING. MOVE 0 TO RETURN-CODE. EXIT PROGRAM. * ++EOS cobc -free -x $cblsrc -o $cblbin && $cblbin echo "\$?=$?" rm $cblsrc $cblbin ```
#### 気づいたこと
  • OpenCOBOLでは「PROGRAM-STATUS」は定義されていない。どうやら、戻り値は「RETURN-CODE」に入れるようだ。