commit 0fb441b12716c6defa2b751af3310fcb02241753
parent 77b3ec876cce0e742484556699cf64ad0e359dc6
Author: Bertrand BRUN <bertrand.brun@me.com>
Date: Thu, 28 Oct 2010 22:03:31 +0200
Nettoyage de fichier meval.lisp
Diffstat:
2 files changed, 3 insertions(+), 37 deletions(-)
diff --git a/lisp2li.lisp b/lisp2li.lisp
@@ -1,5 +1,7 @@
;; TODO : reste a gerer les defuns, les let, les lambda expression, les setf, les progn, ...
(defun lisp2li (expr env)
+ "Convertis le code LISP en un code intermédiaire reconnu
+par le compilateur et par l’interpréteur"
(cond ((and (atom expr) (constantp expr)) ; literaux
(cons :lit expr))
((symbolp expr) ; symboles
diff --git a/meval.lisp b/meval.lisp
@@ -1,4 +1,5 @@
(defun meval (expr env)
+ "Interprète le langage intermédiaire passé en paramètre."
(cond ((eq ':lit (first expr))
(cdr expr))
((eq ':var (first expr))
@@ -34,39 +35,3 @@
(deftest meval
(meval '(:call + (:lit . 3) (:var . x)) '(("TOP-LEVEL" (x1 . 4) (x . 5) (z . 6))))
8)
-
-
-;; meval donnee en cours
-
-;(defun meval (expr env)
-; (cond ((and (atom expr) (constantp expr)) expr) ;; Literal
-; ((atom expr) ;; symboles
-; (let ((cell (assoc expr env)))
-; (if cell (cdr cell)
-; (error ""))))
- ;; .
- ;; .
- ;; .
-; ((eq 'quote (car expr)) (cadr expr)) ;;Quote (' ou quote)
-; ((and (consp (car expr)) (eq 'lambda (caar expr)))
-; (meval-lambda (car expr) (cdr expr) env env)) ;; TODO : a remplir
-; ((eq 'defun (car expr))
-; (set-defun (cadr expr) (cons 'lambda (cddr expr))) ;; TODO : sera remplacer par add-top-level-binding
-; (get-defun (car expr))
-; (meval-lambda (get-defun (car expr)) (cdr expr) env ()))
-; ((eq 'if (car expr))
-; (if (meval (second expr) env)
-; (meval (third expr) env)
-; (meval (fourth expr) env)))
-; ;;cas des marcros/forme speciale deja traiter
-; ((fboundp (car expr)) ;;denier cas vrais fonctin globale predefinie
-; (apply (car expr) (map-meval (cdr expr) env))
-; )
-; ))
-
-;(defun meval-lambda (lbd args env-args old-env)
-; (meval (third (car lbd))
-; (make-env (second (car lbd))
-; (map-meval args env-args)
-; old-env))
-;)
-\ No newline at end of file