警告および制約事項

MFUPP プリプロセッサを使用する際は、次の点を考慮してください。

  • このプリプロセッサは、手続き型プログラムで使用するように設計されています。クラス型の使用はサポートされていません。したがって、クラス名段落、メソッド名段落、デリゲート名段落、列挙名段落、反復子名段落、ValueType 名段落、演算子名段落、およびファクトリ段落は無視されます。プリプロセッサでこの型の構文が検出されると、そのクラスのために解析が一時停止しているという警告メッセージが出力されます。
  • テスト ケースではコントローラーとの間で呼び出しが絶えず行われるため、プログラムのモックは再帰に依存します。テスト対象のソース コードが再帰用 (IS RECURSIVE 句がある、REENTRANT を使用してコンパイルされている、LOCAL-STORAGE 節を含んでいるなど) にまだコンパイルされていない場合、テストのために LOCAL-STORAGE 節をソースに挿入する、INSERT-LS プリプロセッサ指令が設定されていることを確認してください。この指令はデフォルトで設定されていますが、オフにすることもできます。オフの場合、前述の再帰設定のいずれかがソースに含まれている必要があります。それ以外の場合、「COBRT166 再帰的な COBOL CALL は違法である」というエラーで、テストが失敗します。
  • ソース コードの方言で許可されていないコードをプリプロセッサが挿入すると、「COBCH1078 インライン指令 / 条件付きコンパイル / $REGION 文の設定がある」というエラーが発生する場合があります。このような状況では、テストのためにソースの方言を変更することが考えられます。また、DIRECTIVES-IN-COMMENTS 指令を使用して、MF 方言なしでの実行時に $set 文を無視することもできます。