我希望能夠看到某個模塊的AST會是什麼樣的,所以我可以針對它編寫一個適當的過濾器。查看mli文件的AST
因爲我現在真的不知道如何在過濾器中記錄日誌,例如我嘗試匹配,當匹配失敗時我使用Camlp4AstLifter函數將模塊轉換爲樹,然後將其打印出來,在控制檯上,像我嘗試創建我的比賽方式,就像這樣:
camlp4o -filter Camlp4AstLifter -printer o name_of_file.ml
這屬於有點短,現在當我想取一個MLI文件,並使用camlp4篩選以創建此mli文件的默認實現。
我不能使用Camlp4AstLifter來查看樹,因爲這個命令似乎不適用於mli's(它將mli再次顯示爲輸出),因此在嘗試匹配時我有點盲目。
有人有想法嗎?或者提示一下如何改進我的過濾/匹配方法(我沒有感覺到我做得對,很乏味)。
卡斯帕
是的,我首先嚐試了,但它似乎沒有給出與mli文件相同的樹,或者我的匹配當然是關閉的,目標是最終都有,所以模塊ml文件中的類型和mli文件中的類型。因此,我需要嘗試獲取mli文件的樹狀結構。就像我說的那樣,與模塊內部聲明的類型相比,它似乎有點偏離。 – Kasper