about summary refs log tree commit diff stats
path: root/clex.lisp
diff options
context:
space:
mode:
authorDarren Bane <darren.bane@gmail.com>2020-10-12 00:52:56 +0100
committerDarren Bane <darren.bane@gmail.com>2020-10-12 00:52:56 +0100
commit84d897e941a679529d4f00ea5952196c40656b5f (patch)
treeece8dcddf6802acb2af5ca95c9c606e68569e290 /clex.lisp
parenta8b5dbd231cd839449e9e391697c8bde9ae1cede (diff)
downloadlsp-84d897e941a679529d4f00ea5952196c40656b5f.tar.gz
Trying to get cbasic.lisp to compile; WIP
Diffstat (limited to 'clex.lisp')
-rw-r--r--clex.lisp16
1 files changed, 8 insertions, 8 deletions
diff --git a/clex.lisp b/clex.lisp
index 3ce6aaa..442f1cd 100644
--- a/clex.lisp
+++ b/clex.lisp
@@ -1,5 +1,5 @@
 (defpackage #:clex
-  (:use #:common-lisp #:util)
+  (:use #:common-lisp #:cutil)
   (:export
    #:<lint>
    #:<lsymbol>
@@ -10,27 +10,27 @@
 (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 <lsymbol> (<lexeme>) ((lsymbol :reader lsymbol)))
+(defclass <lstring> (<lexeme>) ((lstring :reader lstring)))
 (defclass <lend> (<lexeme>) ())
 
-(defclass <string-lexer> () ((string :initarg :s :accessor string)
+(defclass <string-lexer> () ((lstring :initarg :s :accessor lstring)
                              (current :initform 0 :accessor current)
                              (size :accessor size)))
 
 (defmethod initialize-object :after ((self <string-lexer>) initargs)
-   (setf (size self) (length (str self))))
+   (setf (size self) (length (lstring self))))
 
 (defgeneric forward (cl &rest args))
 (defmethod forward ((cl <string-lexer>) &rest args)
    (let ((incr (if (null args)
                    1
                    (car args))))
-        (setf (curr cl) (+ (curr cl) incr))))
+        (setf (current cl) (+ (current cl) incr))))
 
 (defgeneric extract (pred cl))
 (defmethod extract (pred (cl <string-lexer>))
-   (let* ((st (string cl))
+   (let* ((st (lstring cl))
           (pos (current cl))
           (ext (lambda (n)
                   (if (and (< n (size cl)) (pred (elt st n)))
@@ -38,7 +38,7 @@
                       n)))
           (res (ext pos)))
          (setf (current cl) res)
-         (subseq (string cl) pos (- res pos))))
+         (subseq (lstring cl) pos (- res pos))))
 
 (defgeneric extract-int (cl))
 (defmethod extract-int ((cl <string-lexer>))