1

特定のモジュールの AST が何であるかを確認できるようにして、それに対して適切なフィルターを作成できるようにしたいと考えています。

フィルタに「ログ」する方法が今のところよくわからないので、たとえば一致を試み、一致が失敗した場合はログに記録し、Camlp4AstLifter 関数を使用してモジュールをツリーに変換し、それを出力します。コンソールに出力し、次のようにマッチ パターンを作成しようとします。

camlp4o -filter Camlp4AstLifter -printer o name_of_file.ml

mli ファイルを取得し、camlp4 フィルターを使用してこの mli ファイルのデフォルトの実装を作成したい場合、これは現時点では少し不十分です。

Camlp4AstLifter を使用してツリーを表示することはできません。これは、このコマンドが mli で機能しないように思われるため (出力として再度 mli が表示される)、一致しようとしているときに少し盲目になるためです。

誰かがアイデアを得ましたか?または、フィルタリング/マッチングのアプローチを改善する方法についてのヒントかもしれません (まだ正しくやっているとは思えません。非常に面倒です)。

カスパー

4

2 に答える 2