;;;; HTML generator
;; Create string buffers
(defparameter html (make-array 0 :adjustable t :element-type t :fill-pointer t ))
(defparameter body (make-array 0 :adjustable t :element-type t :fill-pointer t ))
(defparameter style (make-array 0 :adjustable t :element-type t :fill-pointer t ))
(defparameter head (make-array 0 :adjustable t :element-type t :fill-pointer t ))
(defparameter meta (make-array 0 :adjustable t :element-type t :fill-pointer t ))
;; Reader definition
(defun reader ()
(let
(
(input-value nil)
(input-list nil)
)
(with-input-from-string (input-string (read-line))
(loop while (setq input-value (read input-string nil))
do (push input-value input-list)
)
(reverse input-list)
)
)
)
;; Scanner definition
(defun scanner ( x )
(case (car x)
(title (title (cadr x) (cddr x)))
)
)
;; General functions
(defun title (name x)
(let
(
(element-tag-string (make-array 0 :adjustable t :fill-pointer t :element-type 'character))
(current nil)
)
(loop while (setq current (pop x))
do (case current
(color (format t "style color:~a~%" (car x)))
)
)
)
)
do (push input-value input-list)
)
(reverse input-list)
)
)
)