www

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

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:
Mlisp2li.lisp | 2++
Mmeval.lisp | 38+-------------------------------------
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