はじめに
本記事は、VSCodeにおけるRPG IVからFF RPG(フリーフォーマット)への変換ツール「RPGLE Free」と「RPGIV2FREE」について、それぞれの調査結果を踏まえた比較と、開発者が取るべき具体的な行動指針をまとめたものです。
1. 共通する仕様と大前提(同じところ)
どちらのツールを採用した場合でも、以下の仕様や前提は共通しています。
- 実行方法の基本操作: どちらもVSCode上で変換したい範囲を選択し、コンテキストメニュー等から変換を実行するという直感的な操作感は同じです。
- 完全な自動変換ではない: どちらも数クリックだけで全てが問題なく変換され動作する、魔法のようなツールではありません12。
- 手直しと検証が必須: バグの有無に関わらず、ツールの変換特性を理解し、開発者が都度手直しを行うことが大前提となります12。
2. ツールごとの明確な差異(違うところ)
両者は「変換機能のカバー範囲」と「サポート対象外の記述に遭遇した際の挙動(バグの出方)」に明確な違いがあります。
コンセプトと機能の差
- RPGLE Free: 非常にシンプルで軽量なツールです。複雑な設定がなく手軽ですが、コードフォーマッターや固定形式の編集支援機能は備わっていません。
- RPGIV2FREE: H/F/D/C仕様書の幅広い変換に対応し、フリーフォーマット専用のフォーマッターが内蔵されています2。また、固定形式のままのコードに対してもスマートタブなどの編集支援機能を提供します。
変換特性(エラー・バグの出方)の差
ここが開発者にとって最も注意すべき違いです。
-
RPGLE Free(変換を諦めて残す):
MOVE系やGOTOなどのサポート外の命令に遭遇した場合、変換を諦めて元の固定形式のままコードを残します1。これにより 「コンパイルエラー」 となるため、エラー箇所が明確で気づきやすいという特徴があります。 -
RPGIV2FREE(強引に変換して論理を壊す):
MOVEを単純な代入演算子(=)に置換して「右詰め」特性を喪失させたり2、GOTOに対してダミーループを生成して元のネスト構造を破壊したりします2。これにより、コンパイルは通るものの 「実行時バグ(データの消失や無限ループなど)」 を引き起こす危険性があり、バグの発見が難しくなります2。
3. 結論:どう行動すべきか(今後の指針)
前述の比較を踏まえ、開発現場では以下の指針に沿って行動することをおすすめします。
指針①:まずは「RPGIV2FREE」をベース環境として導入する
変換精度のみならず、日々のコーディング(特にまだ固定形式のまま保守しなければならないコード)に対する補助機能が優秀なため、まずは多機能な「RPGIV2FREE」を導入して開発効率を高めることをおすすめします。もし機能過多で使いづらいと感じた場合にのみ、「RPGLE Free」へのダウングレードを検討してください。
指針②:「コンパイルエラー」よりも「実行時バグ」に強く警戒する
「RPGIV2FREE」をメインで使う場合、文字から数値への変換時の空白によるクラッシュや、MOVE変換後の桁ズレなど、実行して初めて気づくバグが混入しやすい特性があります2。変換後はコンパイルが通ったからと安心せず、必ず手動での型キャスト(%editc()や%dec()など)の追記や、動作テストを入念に行ってください2。
指針③:既存資産の「一括変換」は計画しない
OSのコンバートコマンドのような手軽さはありません。1つのプログラムに対する手直し・検証の対応時間が非常にかかるため、既存資産をツールで一括変換するのは現実的ではありません2。
「システムの保守・改修案件が発生したプログラムから、ついでに部分的にフリーフォーマット化していく」といった、段階的で地道なアプローチを計画してください。