Haskell で別の言語のコードを生成したいのですが、この問題にどのようにアプローチすればよいかわかりません。コード生成にも役立つ、Haskell での言語の抽象的でエレガントな表現を探しています。問題の言語は InstallScript です (言語リファレンス ガイドへのリンク)。InstallScript で採用されている言語構造を Haskell 型でキャプチャする方法、または同様のプロジェクトを参照してインスピレーションを得る方法について、誰かがヒントを提供してくれませんか?
質問する
4464 次
1 に答える
21
これは、Haskell で解決する古典的な問題です。
- 言語の抽象構文ツリーを定義する
- きれいなプリンターを定義する (コードを生成するため)
ボーナスポイント:
- パーサーを定義する
- Haskell にターゲットを埋め込むことができるように、適切な Haskell コンビネータ ライブラリを記述します。
- 抽象構文のオプティマイザーを作成する
Hackageには非常に多くの例があります (例: this one )。
于 2012-04-23T11:50:16.553 に答える