質問

今日の xkcdサイトでは、次の<!> lt; script language = <!> quot; scheme <!> quot; <!> gt;にジョークとして登場タグ

では、次のコードは何をし、何を表していますか

(define
  (eval exp env)
  (cond ((self-evaluating? exp) exp)
    ((variable? exp)
      (lookup-variable-value exp env))
    ((quoted? exp)
      (text-of-quotation exp))
    ((assignment? exp)
      (eval-assignment exp env))
    ((definition? exp)
      (eval-definition exp env))
    ((if? exp)
      (eval-if exp env))
    ((lambda? exp)
      (make-procedure
        (lambda-parameters exp)
        (lambda-body exp)  env))
    ((begin? exp)
      (eval-sequence (begin-actions exp) env))
    ((cond? exp)
      (eval (cond->if exp) env))
    ((application? exp)
      (apply (eval (operator exp) env)
        (list-of-values (operands exp) env)))
    (else  (error "Common Lisp or Netscape Navigator 4.0+ Required" exp))))
役に立ちましたか?

解決

すべての必要なメソッドが入力されていると仮定した場合、それは本質的にシンプルなインタープリターです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top