Xtext、Spoofax、JetBrainsのMPSなどの言語ワークベンチツールでの作業経験がある人はいますか?私は1つを試してみると、さまざまなツールの良い比較を見つけるのは苦労している。それぞれの長所と短所は何ですか?XtextやMPSなどの異なる言語のワークベンチツールの長所と短所はありますか?
私はPythonコードを生成するDSLをビルドしようとしていますので、これらのツールのいずれかをPythonで使用した人から聞くことに特に興味があります。 ?)。 DLSは主に私自身のためのものなので、構文を定義してコードジェネレータを書くためにKISSを使っているよりも、本当にきれいなIDEを構築することはあまり気にしません。 DLSの型チェック/静的解析を実行する能力もかなりクールです。
私は少し遠い道のりで壁にぶつかり、自分のコードが他のものに移植できない形式になっていることを少し恐れています。私はそれを理解するので、実際にテキストベースの構文を生成するのではなく、むしろASTのための特別なエディタを構築するので、特にMPSは少し怖いようです。
Spoofax b/cは、かなり豊富なプログラム変換言語(Stratego)に裏打ちされているように見えますが、これは実際にはDSLを構築する肉とポテトだと思います。 – josh
この時点で、私はStratego/SpoofaxとPythonで(ANTLR経由で)私自身のパーサー/インタープリタを構築するかそれに類するものに絞った。私の感覚は、StrategoがASTを操作するためのより良いパラダイムを提供していることですが、Pythonコードを出力してからコードを実行する必要があるため、write-build-testサイクルはきれいではありませんアプリケーション全体をPythonで管理します。 – josh