RPG

485. フリー・フォーマットは構造化プログラミングの第一歩

RPG III でも ILE-RPG固定フォーマットでも
IF-条件や DO-LOOP文でも ENDIFやENDDOではなく
単なるENDも使うことができるが
フリー・フォーマットでは
_

■ END は使えない

明示的に ENDIF を使わなければならない。
これはどの分岐に対応するENDであるとを明確にする
ためであると思われる。

また DO-LOOPは使うことができない。
LOOP文は DO-LOOPではなく FOR N =1 TO MAX のように
FOR-LOOP文を使う。ENDも ENDFOR で明示的に
これが FOR-LOOPの終了であることを示すためである。

■ GOTO は使えない

構造化プログラミングでは GOTO を使うことを禁止して
IF-ELSE-ENDIFを使うように推薦されていたが
固定式フォーマット記述ではインデント(段落)が無いので
多重階層の IF-ELSE-END を使うとかえってわかりにくくなってしまう。
しかしILE-RPGのフリー・フォーマットであれば
インデント(段落)で階層を表すことができるので
GOTO 命令を禁止する意味はあるし効果的である。
_