2011-06-21 12 views
5

に変換すると、Scala ASTがある場合、Scalaソースコードを生成する方法はありますか?Scala ASTをソースコード

他のScalaソースを解析/解析することで、Scalaソースを自動生成する方法を探しています。任意のヒントをいただければ幸いです!

答えて

6

このタスクではMirko StockerがScala-Refactoringを正常に使用しています。

ASTを合成的に構築するには、ScalaのNSCの既存のTree DSLに強く依存します。

コードはちょっと混乱していますが、私のプロジェクトScalaCollider-UGensで使用例を見つけることができます。

私はまた、非常に有用なクラスを見つけましたJohannes Rudolph

0

DMS Software Reengineering Toolkitを参照してください。

DMSは、多くの言語でソースコードの解析/解析/最適化/変換のための完全なエコシステムを提供します。これは、これらのタスクのための汎用的な機能をコア機能として提供し、明示的に提供される言語定義(「フロントエンド」)に従ってそれらを特化することで実現します。 DMSには、怒りの中で使用されている多くの言語(C、C++、C#、Java、COBOLなど)のフロントエンドと、他の言語を非常に迅速に定義するプロセスがあります。

私たちは多かれ少なかれ言語セットを拡張しています。 DMSには既にScalaフロントエンドの一部が実装されており、私たちが構築した他の30以上のフロントエンドに基づいて、Javaの知識を特に重視して完成させる方法を知っています。

+0

「怒りに使われました」それはタイプミスですか? – Malvolio

+0

@Malvolio:それは "実用目的で使用される"という意味の英語のイディオムです。 –