CLP であれば
CRTCLPGM ALWRTVSRC(*NO)
でコンパイルされていない限り RTVCLSRC コマンドによってもとのソース・プログラムを
生成することが可能である。
それでは RPG の逆コンパイル(リバース・エンジニアリング)は可能か?
逆コンパイル・ツールは市販はされていないが、依頼して逆生成はできるものの
1本当り30万円と高価である。
ここではその原理だけを紹介する。
RPG はマシンインターフェースと呼ばれるマクロアセンブラに翻訳されている。
この中間言語を読取るには マシンインターフェース・プログラム(MI)によって
RPG の命令がどの MI に翻訳されているのかを粒さに調べる必要がある。
ところが、この MI を生成するコンパイラは用意されていない。
MI のコンパイラは API: QPRCRTPG によって自作しなければならない。
このように逆コンパイルへの道は遠いことと、逆コンパイル自体が
踏み込んではならない聖域として解釈したい。