3
我寫了一個應用於DSL腳本的全局AST轉換,現在正在選擇識別特定groovy腳本作爲這些DSL腳本的最佳方式。Groovy DSL腳本
我認爲以下選項:
- 自定義的文件擴展名;這裏最大的缺點是支持IDE:許多勉強支持編譯/編輯具有非常規擴展的文件(您可以配置編輯器,但它需要一些調整)。
- 一個特殊的文件名後綴(前綴),但在這種情況下,後綴應該是非常獨特的(因此相對較長),以避免意外轉換常規groovy文件(我當前的選擇)。
- 本地AST轉換應用於腳本類,這有一個缺點,那就是需要爲每個腳本編寫一些樣板代碼。
- 在標識DSL的腳本中有一些獨特的第一條語句。
你認爲什麼是最佳選擇,爲什麼?我還沒有想過其他的選擇嗎?
出於性能原因,我想在編譯時應用轉換。它也允許我運行腳本爲'execute(ClassName)'而不是'execute(「path/to/the/script/ClassName.groovy」)' – Nutel 2012-07-11 11:05:01