インタープリタ デザインパターンと LISP の論理的な関係。
  デザインパターンの各解説書でインタープリタ デザインパターンのメタファとして「文法表現」を与えていますが、 そのインタープリタ デザインパターンに対し LISP の概念との対応を与えることができます。 インタープリタ デザインパターンと LISP との論理的な関係を以下に示します。

  LISP の概念による説明 | インタープリタ デザインパターンの概念による説明
  --- | ---
  静的な型が付けられたS式(多くの LISP 実装は静的型を持たないためこのように表現しました) | Expression 役
  副作用 | Context 役インスタンスへの作用
  c言語や機械語で実装された関数の実装 | Expression 役を実装したクラスの interpret メソッド
  関数 | Expression 役を実装したクラス
  LISP 文 | インスタンスのコンポジット
  nil | ヌルオブジェクト
  マクロ | コンポジットを生成する処理

  LISPとの相似性により、インタープリタ デザインパターンは手続き型言語の中で関数型言語を扱うためのパターンであるということができます。

トップに戻る
Copyright (C) 2006 Takahiro Nakamura. All rights reserved.