Lots more has happened.
[sod] / lex.lisp
index 1583b11..2d1c4de 100644 (file)
--- a/lex.lisp
+++ b/lex.lisp
    "struct" "union" "enum"))
 
 (defclass sod-lexer (lexer)
-  ((keywords :initarg :keywords :initform *sod-keywords*
-            :type hash-table :reader lexer-keywords))
+  ()
   (:documentation
    "Lexical analyser for the SOD lanuage.
 
                                           (char= ch #\_))))
                          (return))))))
 
-           ;; Check to see whether we match any keywords.
-           (multiple-value-bind (keyword foundp) (gethash id keywords)
-             (return (values (if foundp keyword :id) id)))))
+           ;; Done.
+           (return (values :id id))))
 
         ;; Pick out numbers.  Currently only integers, but we support
         ;; multiple bases.