commit b8c8abcdfbfe91caf15c93c9524cb9fc8e60a124
parent 0fb441b12716c6defa2b751af3310fcb02241753
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date: Sat, 30 Oct 2010 21:51:19 +0200
corrections mineures.
Diffstat:
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/TODO-Liste b/TODO-Liste
@@ -18,4 +18,6 @@ Questions :
- Peut-on faire funcall sur des macros ? Si oui, on peut réécrire mapcar de manière beaucoup plus efficace dans
inplementation-fonctions.lisp. Si non, vu qu'on a defmacro les fonctions car & cdr & d'autres, on ne peut pas les
- funcall :(
-\ No newline at end of file
+ funcall :(
+ Réponse : non, on ne peut pas faire de funcall, mapcar etc. sur des macros (erreur "undefined function". Normal : ce
+ ne sont pas des fonctions :) ).
+\ No newline at end of file
diff --git a/lisp2li.lisp b/lisp2li.lisp
@@ -1,6 +1,6 @@
;; 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
+ "Convertit 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))
@@ -9,11 +9,12 @@ par le compilateur et par l’interpréteur"
(if cell
(cons :var (car cell))
(warn "Variable ~S unknown" (car expr)))))
- ((and (consp (car expr)) ; λ-expressions
- ; => recursion sur arguments
- ; => construction environnement
- ; => recursion sur corps de la λ-fonction
+ ((and (consp (car expr))
(eq 'lambda (caar expr)))
+ ;; λ-expressions
+ ;; => recursion sur arguments
+ ;; => construction environnement
+ ;; => recursion sur corps de la λ-fonction
(error "Lambda expression NYI"))
((not (symbolp (car expr)))
(warn "~S isn't a symbol" (car expr)))