2

私たちはプラットフォーム用の外部 DSL を作成することを検討しており、構文は Java に似ていますが、生成される基本コードは少し異なります。

私たちは ANTLR をひねり、私たちのルールに準拠するようにすぐに使える Java 文法ファイルを微調整しました。次のステップは意味分析ですが、これは少し難しいので、JAVA 用の無料の意味分析が利用できるか知りたいと思っていました。文法ファイルと同様に、JAVA セマンティック アナライザー コードをすぐに使用できる場合は、必要に応じて微調整できます。

さらに、Scala DSL 機能についても検討しています。

この点で何か助けていただければ幸いです。ありがとう

4

2 に答える 2

0

Eclipse のソース コードから多くの助けを得ることができます。Java ファイルの AST を公開するパブリック API があり、すべての型バインディングで注釈が付けられています。ただし、そのコードを微調整するのはかなり難しいと思います。

于 2012-08-25T10:23:12.437 に答える
0

Scala は現在、マクロ システムを実験的にサポートしています。マクロは、新しい言語機能を定義するための便利で軽量な方法を提供します。これらを使用すると、ベース言語に入ったすべての作業を複製することなく、DSL を定義できます。彼らはすべてを行うことはできませんが、多くのことを行うことができ、タスクに適している場合、まったく新しい言語を書くよりもはるかに簡単に作成およびデバッグできます.

于 2012-08-25T16:07:01.847 に答える