Déplantage des structures cycliques

This commit is contained in:
Bertrand BRUN 2010-10-31 02:34:03 +01:00
parent fbdae40760
commit 99364ac205
2 changed files with 3 additions and 3 deletions

View File

@ -46,7 +46,7 @@ par le compilateur et par linterpréteur"
(cons :lit (third expr))))))
((macro-function (car expr))
(lisp2li (macroexpand-1 expr) env)) ; macros
((not (special-operator-p (car expr))) ; fonctions normales. (Attention) sur sbcl special-form-p ne marche pas il faut utiliser special-operator-p
((not (special-operator-p (car expr))) ; fonctions normales.
(cons :call (cons (first expr) (map-lisp2li (cdr expr) env))))
(T
(error "special forme NYI ~S" (car expr)))
@ -55,7 +55,7 @@ par le compilateur et par linterpréteur"
(defun map-lisp2li (expr env)
(mapcar (lambda (x) (lisp2li x env)) expr))
(defun make-stat-env (env params) ;; TODO : Verifier si on ne doit pas plutot chercher s'il existe pas deja un environnement avec la valeur et le mettre plutot que nil.
(defun make-stat-env (env params)
(mapcar (lambda (x) (add-binding env x nil)) params)
env)

View File

@ -1,8 +1,8 @@
(setq *print-circle* t)
(load "environnement")
(load "instructions")
(load "lisp2li")
(load "meval")
;; ...
(run-tests)
;(run-tests t)
;(print-env-stack exemple-env-stack)