MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

C++によるデザインパターン23: Interpreterパターン

増補改訂版 Java言語で学ぶデザインパターン入門

増補改訂版 Java言語で学ぶデザインパターン入門

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

  • 作者: エリックガンマ,ラルフジョンソン,リチャードヘルム,ジョンブリシディース,Erich Gamma,Ralph Johnson,Richard Helm,John Vlissides,本位田真一,吉田和樹
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 1999/10
  • メディア: 単行本
  • 購入: 21人 クリック: 711回
  • この商品を含むブログ (212件) を見る


Interpreterパターン

Interpreterパターンは、

ある問題を解きやすい特別な"ミニ言語"を設計し、

そのミニ言語と通常のプログラミング言語の

橋渡しをするクラスを作成するデザインパターンです。


あるミニ言語の文法を解析するクラスを作成し、

それらを組み合わせることで、

ミニ言語を翻訳(Interprete)するのが目的です。


正規表現など、

人間には親しみがあるが、

プログラミング言語として、

いちいちソフトを作成するのが難しい場合、

このパターンで事前にインタープリタを作成しておくことが多いようです。


このようなインタープリタによるミニ言語を作ることで、

ある特定の問題にフォーカスした言語を作成することができ、

非常に効率的にソフトウェア処理を設計することができるようになります。


C++によるサンプルコード

下記のGitHubページにて公開しています。

cpp/Interpreter.cpp at master - AtsushiSakai/cpp