2012-07-10 157 views
3

我写了一个应用于DSL脚本的全局AST转换,现在正在选择识别特定groovy脚本作为这些DSL脚本的最佳方式。Groovy DSL脚本

我认为以下选项:

  1. 自定义的文件扩展名;这里最大的缺点是支持IDE:许多勉强支持编译/编辑具有非常规扩展的文件(您可以配置编辑器,但它需要一些调整)。
  2. 一个特殊的文件名后缀(前缀),但在这种情况下,后缀应该是非常独特的(因此相对较长),以避免意外转换常规groovy文件(我当前的选择)。
  3. 本地AST转换应用于脚本类,这有一个缺点,那就是需要为每个脚本编写一些样板代码。
  4. 在标识DSL的脚本中有一些独特的第一条语句。

你认为什么是最佳选择,为什么?我还没有想过其他的选择吗?

回答