DSL / Implementing an External DSL


DSL

外部DSLの実装

一言要約

パーサジェネレータには長い歴史があるが、汎用言語とDSLでは考え方が異なる。

要約

  • 外部DSL実装のポイントは、テキストのパース処理。技術的には伝統的なものと変わらない。
  • 伝統的なパース技術は汎用言語に向けられているが、DSLはもっと簡単。
  • パース処理に用いられるツールは、基本的に「パーサジェネレータ」。
    • 文法をベースにパースを行うのが、既に紹介したSyntax Directed Translation
  • 以降の議論では、以下の2点に焦点を当てる。
    • 出力生産法戦略("the output production strategy")
    • 構文分析戦略("the syntactic analysis strategy")

ファウラーへのフィードバック

担当者のつぶやき

  • まあ、導入ですので特に。それにしても相変わらず名前をつけるのが好きですね。
  • 強いて言えば、このフレーズがちょっと面白かったです。
    • Consequentially the onus is much more on the writer of a parser to make it clear and easy to follow - particularly since parsers tend to be a specialized area with reputation for being hard.

みんなの突っ込み