3

Ruby 1.9 または JRuby で DSL を構築したい場合、これらの段階のいずれかを手動で行う必要がありますか?

  • レキシング
  • 解釈
  • 解析中
  • ジャストインタイムのコンパイル

明らかに、私はプログラマーなので、できる限り実際のコードを書くのは好きではないので、これらのステップのどれも手作業を必要としないことを願っています :)

4

2 に答える 2

6

それはすべてメタプログラミングを使用して行われます。あなたがリストしたことのいずれかを行う必要はありません。Jamis Buck は、 Ruby を使用したドメイン固有言語の記述に関するすばらしいブログ投稿を行っています。

于 2009-06-15T20:23:29.940 に答える
6

それはあなたが望むものに依存します。内部 (読み取り: ruby​​ 構文を使用) DSL を作成する場合は、完全に ruby​​ です。Ruby 構文を使用しない DSL を構築したい場合は、treetop gem を参照してください。

Jeremy Mcanally は、DSL について非常に優れたプレゼンテーションを行っています。彼は外部と内部の両方の DSL を経験しています。

于 2009-06-15T20:55:26.743 に答える