Issue #24 - Prevent segfaults during analysis

This commit is contained in:
Justin Ethier 2016-06-23 22:18:18 -04:00
parent 0db31ea6d9
commit b0d40fe51a

View file

@ -346,10 +346,18 @@
(analyze-self-evaluating exp)) (analyze-self-evaluating exp))
((quoted? exp) (analyze-quoted exp)) ((quoted? exp) (analyze-quoted exp))
((variable? exp) (analyze-variable exp)) ((variable? exp) (analyze-variable exp))
((assignment? exp) (analyze-assignment exp env)) ((and (assignment? exp)
((definition? exp) (analyze-definition exp env)) (not (null? (cdr exp))))
((if? exp) (analyze-if exp env)) (analyze-assignment exp env))
((lambda? exp) (analyze-lambda exp env)) ((and (definition? exp)
(not (null? (cdr exp))))
(analyze-definition exp env))
((and (if? exp)
(not (null? (cdr exp))))
(analyze-if exp env))
((and (lambda? exp)
(not (null? (cdr exp))))
(analyze-lambda exp env))
;; experimenting with passing these back to eval ;; experimenting with passing these back to eval
((compound-procedure? exp) ((compound-procedure? exp)