;;; **************************************************************** ;;; Beginning of figures for Appendix B ;;; Figure B.1 : page 465 (define-record define (var exp)) (define-record varref (var)) (define-record lit (datum)) (define-record app (rator rands)) (define-record if (test-exp then-exp else-exp)) (define-record let (decls body)) (define-record decl (var exp)) (define-record proc (formals body)) (define-record varassign (var exp)) (define-record letmutable (decls body)) (define-record begin (exp1 exp2)) (define-record letrecproc (procdecls body)) (define-record procdecl (var formals body)) (define-record letrec (decls body)) (define-record dynassign (var exp body)) (define-record letdynamic (decls body)) ;;; Figure B.2 : page 466 (define-record definearray (var dim-exp)) (define-record letarray (arraydecls body)) (define-record arrayref (array index)) (define-record arrayassign (array index exp)) (define-record letproc (procdecls body)) (define-record local (decls body)) (define-record keydecl (var exp)) ;;; Figure B.2 : page 466 %%%%% This is for 3rd printing %%%%%% (define-record definearray (var lex-exp)) (define-record letarray (arraydecls body)) (define-record arrayref (array index)) (define-record arrayassign (array index exp)) (define-record letproc (procdecls body)) (define-record local (decls body)) (define-record keydecl (var exp)) ;;; Figure B.3 : page 466 (define-record super-meth-app (name rands)) (define-record meth-app (name rands)) (define-record i-varref (var)) (define-record c-varref (var)) (define-record i-varassign (var exp)) (define-record c-varassign (var exp)) (define-record method (formals body)) (define-record new-simpleinst (class-exp)) ; corrected for second printing (define-record new-simpleclass (c-vars i-vars methdecls init-exp)) (define-record new-class (parent-exp c-vars i-vars methdecls init-exp)) (define-record new-instance (class-exp parent-exp i-vars methdecls)) ;;; Figure B.4 : page 466 (define-record abort (exp)) (define-record letcont (var body)) (define-record callcc (exp)) (define-record coroutine (exp)) (define-record wind (pre body post)) ;;; Figure B.5 : page 466 (define-record sum (rands)) ;;; End of figures for Appendix B