Fix object dumping
authorDavid Vázquez <davazp@gmail.com>
Fri, 21 Jun 2013 23:19:06 +0000 (01:19 +0200)
committerDavid Vázquez <davazp@gmail.com>
Fri, 21 Jun 2013 23:19:06 +0000 (01:19 +0200)
src/compiler.lisp
src/print.lisp

index 44ccbe7..2edc334 100644 (file)
 
 (defun gvarname (symbol)
   (declare (ignore symbol))
-  (format nil "v~d" (incf *variable-counter*)))
+  (code "v" (incf *variable-counter*)))
 
 (defun translate-variable (symbol)
   (awhen (lookup-in-lexenv symbol *environment* 'variable)
 (defvar *literal-counter* 0)
 
 (defun genlit ()
-  (format nil "l~d" (incf *literal-counter*)))
+  (code "l" (incf *literal-counter*)))
 
 (defun dump-symbol (symbol)
   #-jscl
       (cond
         ((floatp x) (push (float-to-string x) fargs))
         ((numberp x) (push (integer-to-string x) fargs))
-        (t (let ((v (format nil "x~d" (incf counter))))
+        (t (let ((v (code "x" (incf counter))))
              (push v fargs)
              (push `(code "var " ,v " = " ,(ls-compile x) ";"
                           "if (typeof " ,v " !== 'number') throw 'Not a number!';")
index a8ac834..db3be82 100644 (file)
                 (concatf res (format-special next (car arguments)))
                 (pop arguments))))
             (setq res (concat res (string c))))
-        (incf i)))
+        (incf i))
+      (/debug res))
     (if destination
         (progn
           (write-string res)