関数型言語の勉強にSICPを読もう - (58) 4章 - 超言語的抽象(220ページ) C++でSchemeインタプリタを作ろう6

lamdaが動いた!。(前回アドバイスを下さった arinoさん、shiroさんありがとうございました)

((lambda (a) "test") 3)
=>EVAL: "test"


構文解析をして「(」の直後にある要素は Applicationの本体、それ以外は Applicationの引数とします。
その時点では当然 Applicationの本体がどういう作用があるのかはわかりません。
極端な言い方をすれば構文を間違っていて eval 時にエラーになる可能性もあります。


例に出した、lambdaが動いているので基礎部分はある程度めどが立ったかな。
直近の todo は

  • evalを各オブジェクトへ移動
  • main.cppのリファクタリング
  • Environmentのバグの原因特定
  • primitive procedureのサポート


あたりかな。


※「SICPを読もう」の目次はこちら


計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン 和田 英一
ピアソンエデュケーション (2000/02)
売り上げランキング: 56,404

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy