www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 99364ac205defc364c7403416e53cfde1b09566c
parent fbdae407605b9332f3add7ce810f865537cd15a7
Author: Bertrand BRUN <bertrand.brun@me.com>
Date:   Sun, 31 Oct 2010 02:34:03 +0100

Déplantage des structures cycliques

Diffstat:
Mlisp2li.lisp | 4++--
Mmain.lisp | 2+-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp2li.lisp b/lisp2li.lisp @@ -46,7 +46,7 @@ par le compilateur et par l’interpré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 l’interpré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) diff --git a/main.lisp b/main.lisp @@ -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)