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

### インストール packageからインストール。 ```sh pkg_add -r open-cobol
1
2
3
```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. *
1
2
3
4
5
6
7
8

</div>
<div class="section">
    #### コンパイルして実行
    ```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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</div>
<div class="section">
    #### 気づいたこと
    
<ul>
<li>OpenCOBOLでは「PROGRAM-STATUS」は定義されていない。どうやら、戻り値は「RETURN-CODE」に入れるようだ。</li>
</ul>
</div>
</div>
<div class="section">
    ### 参考URL
    
<ul>
<li><a href="http://www.opencobol.org/">http://www.opencobol.org/</a>
<ul>
<li>OpenCOBOL公式サイト</li>
</ul></li>
<li><a href="http://www12.ocn.ne.jp/~peg/index.html">http://www12.ocn.ne.jp/~peg/index.html</a>
<ul>
<li>OpenCOBOL 文書図書館</li>
</ul></li>
<li><a href="http://www.magata.net/memo/index.php?OpenCOBOL">http://www.magata.net/memo/index.php?OpenCOBOL</a></li>
<li><a href="http://codezine.jp/article/detail/2303">http://codezine.jp/article/detail/2303</a></li>
</ul>
</div>