[2021 Spring] CS61A 学习笔记 Homework 9: Regular Expressions, BNF, Macros

作业地址: https://inst.eecs.berkeley.edu/~cs61a/sp21/hw/hw09/

Q1-Q3

  1. 对BNF的理解
  2. 对RE的理解
  3. 对interpreters的理解

Q4: Switch

switch跟cond很类似,转换成cond expression表示。

(define-macro (switch expr cases)
  (cons 'cond
        (map (lambda (case)
               (cons `(eqv? ,expr ',(car case)) (cdr case)))
             cases)))
posted @ 2021-08-06 20:31  ikventure  阅读(1827)  评论(0编辑  收藏  举报