エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
SICP 読書ノート#47 - RubyでSchemeインタプリタをつくろう(6) - 実行オブジェクトへのマッピング (pp.213-228) - @uents blog
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
SICP 読書ノート#47 - RubyでSchemeインタプリタをつくろう(6) - 実行オブジェクトへのマッピング (pp.213-228) - @uents blog
前回作った構文木について、そのまま評価器に放り込んで評価させても良いのですが、SICPのテキストのeva... 前回作った構文木について、そのまま評価器に放り込んで評価させても良いのですが、SICPのテキストのeval()のようにだらだらと長くなるのがいまいちかなと思います。 問題4.3でも取り上げられているように「データ主導」で実装する方がスマートかと思いますので、そのために構文木のノードを実行可能なオブジェクトへ変換します。 具体的には、number,stringのような組み込みオブジェクト、quote,assignment,lambdaのような特殊形式、関数適用であるapplicationといった構文単位でクラスを用意し、構文木のノードをそのクラスの何れかに属するオブジェクトへとマッピングします。 class Generator def self.generate(node) begin case node.key when :NUMBER return Builtin::Number.new
2015/04/24 リンク