;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Aug 2002
;;;;
-;;;; $Id: lml.lisp,v 1.2 2002/10/09 23:28:41 kevin Exp $
+;;;; $Id: lml.lisp,v 1.6 2002/11/25 18:59:20 kevin Exp $
;;;;
;;;; This file, part of LML, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
(number
`(lml-print "~D" ,form))
(symbol
- `(lml-print (string-downcase (symbol-name ,form))))
- (nil
- nil)
+ (when form
+ `(lml-print (string-downcase (symbol-name ,form)))))
(cons
form)))
forms)))
(curr-string (new-string))
(paren-level 0)
(got-comma nil))
+ (declare (type fixnum paren-level))
(do ((ch (read-char stream t nil t) (read-char stream t nil t)))
((eql ch #\]))
(if got-comma
(if (eql ch #\()
;; Starting top-level ,(
(progn
+ #+cmu
+ (setf curr-string (coerce curr-string `(simple-array character (*))))
+
(push `(lml-print ,curr-string) forms)
(setq curr-string (new-string))
(setq got-comma nil)
(progn
(setq got-comma nil)
(vector-push-extend ch curr-string)))))
+
+ #+cmu
+ (setf curr-string (coerce curr-string `(simple-array character (*))))
+
(push `(lml-print ,curr-string) forms)
`(progn ,@(nreverse forms)))))