タグ

dslに関するmtbtaizoのブックマーク (3)

  • ITmedia エンタープライズ:第3回 話題騒然! 「言語内DSL」の概念とRake【前編】 (1/2)

    第3回 話題騒然! 「言語内DSL」の概念とRake【前編】:Ruby on Rails究極指南(1/2 ページ) 近年、特定の領域に存在する問題の解決に特化してデザインされたコンピュータ言語「DSL」が注目を集めている。稿では、RubyとDSLの関係について解説していく。Railsによって注目を浴びたRakeを取り上げて、DSLの概念やRakeの特徴、その使い方などを説明する。 RubyとDSLの関係 近ごろ、DSLという考え方が注目を集めています。DSLとは、特定の領域(ドメイン)に存在する問題の解決に特化してデザインされたコンピュータ言語のことを指します。 DSLの考え方*は新しいものではありません。例えば、awkは「テキストをフィルタリングする」という問題を解くことに特化したDSLと考えられます。そのほか、自分で特定の問題を解くためにミニ言語を設計・実装された経験のある方もいるで

    ITmedia エンタープライズ:第3回 話題騒然! 「言語内DSL」の概念とRake【前編】 (1/2)
  • 第4回 話題騒然! 「言語内DSL」の概念とRake【後編】

    言語内DSLとしてのRuby 前回紹介したとおり、言語内DSLはホスト言語そのものを利用してDSLを構築します。したがって、言語内DSLではホスト言語の機能をフル活用できます。Rubyで構築された言語内DSLであれば、Rubyの制御構造の利用はもちろん、独自にクラスやメソッドを定義できますし、サードパーティーのRubyライブラリを利用することも可能です。 DSLからのRubyの利用 Rakefileは、実行時にそのままRubyのコードとして評価されます。ここで、前回紹介したhelloプログラム用のRakefile(リスト1)にRubyのメソッドを定義してみましょう。参考までに(リスト1)を再度示しておきます。 1 require 'rake/clean' 2 CLEAN.include %w(hello *.o) 3 4 task :default => ['hello'] 5 6 fil

    第4回 話題騒然! 「言語内DSL」の概念とRake【後編】
  • Martin Fowler's Bliki in Japanese - 言語ワークベンチ

    以下の文章は、Martin Fowler による 「Language Workbenches: The Killer-App for Domain Specific Languages?」 の日語訳である。 ソフトウェア開発における新しい考えの多くは、実は古い考えの新しい組み合わせ方です。この記事では、その新しい組み合わせ方のひとつ、私が「言語ワークベンチ(Language Workbenches)」と呼んでいるツールについて説明します。これは、現在広まりつつある考え方で、たとえば、Intentional Software、JetBrainsのMeta Programming SystemMicrosoftのSoftware Factoriesなどが例として挙げられます。これらのツールは古い開発スタイルを採用しており、私はこれを「言語指向プログラミング(language oriente

  • 1