uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

[groovy] AST Spec builder

GBenchなどのクールなGroovyツールを開発されている @nagai_masato さんが新たにAstSpecBuilderというのを公開されてますね
AstBuilderのbuildFromSpecのためのspecをGroovyコードのASTから生成するというもの。AstBuilderというのは、AST変換のアウトプットとしてのASTを生成するためのもので、その生成はJavaやGroovyでも書けるけどごたごたしてしまうので、buildFromSpecはとあるDSL記法(spec)で生成するための方法です。AST Spec BuilderはこのspecをGroovyコードから生成してやろうというもの*1。単にコードに対応するASTであればbuildFromCodeというGroovyコード断片から生成するのもあるが、加工についての自由度が低いから、いったんspecにしてなんらかの処理追加をしてからAST生成するときに便利というものではないかと。

(追記)

@nagai_masatoさんがご自身でAST Spec Builderについてブログエントリを書かれていたのをコメント欄でおしえてもらいました。こちらをどうぞ。

*1:ラウンドトリップ開発?