about summary refs log tree commit diff stats
path: root/clex.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'clex.lisp')
-rw-r--r--clex.lisp14
1 files changed, 12 insertions, 2 deletions
diff --git a/clex.lisp b/clex.lisp
index 16ce0ff..3ce6aaa 100644
--- a/clex.lisp
+++ b/clex.lisp
@@ -1,9 +1,19 @@
 (defpackage #:clex
-  (:use #:common-lisp)
+  (:use #:common-lisp #:util)
   (:export
-   ))
+   #:<lint>
+   #:<lsymbol>
+   #:<lstring>
+   #:<lend>))
 (in-package #:clex)
 
+(defclass <lexeme> () () (:metaclass <abstract-class>))
+(defclass <lint> (<lexeme>) ((int :reader int)))
+(defclass <lident> (<lexeme>) ((ident :reader ident)))
+(defclass <lsymbol> (<lexeme>) ((symbol :reader symbol)))
+(defclass <lstring> (<lexeme>) ((string :reader string)))
+(defclass <lend> (<lexeme>) ())
+
 (defclass <string-lexer> () ((string :initarg :s :accessor string)
                              (current :initform 0 :accessor current)
                              (size :accessor size)))