diff options
Diffstat (limited to 'clex.lisp')
-rw-r--r-- | clex.lisp | 14 |
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))) |