;;;----- Licensing notice ---------------------------------------------------
;;;
-;;; This file is part of the Sensble Object Design, an object system for C.
+;;; This file is part of the Sensible Object Design, an object system for C.
;;;
;;; SOD is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
(defclass charbuf-scanner (character-scanner)
((%stream :initarg :stream :type stream)
(buf :initform nil :type (or charbuf (member nil :eof)))
- (size :initform 0 :type (integer 0 #.charbuf-size))
- (index :initform 0 :type (integer 0 #.charbuf-size))
+ (size :initform 0 :type charbuf-index)
+ (index :initform 0 :type charbuf-index)
(captures :initform 0 :type (and fixnum unsigned-byte))
(tail :initform nil :type (or charbuf-chain-link null))
(unread :initform nil :type (or charbuf-chain-link nil))
Which leaves us with the need to determine whether there are outstanding
captures. We simply maintain a counter, and rely on the client releasing
- captured places properly when he's finished. In practice, this is usually
- done using the `peek' parser macro so there isn't a problem."))
+ captured places properly when they've finished. In practice, this is
+ usually done using the `peek' parser macro so there isn't a problem."))
-(export 'charbuf-scanner-place-p)
+(export '(charbuf-scanner-place charbuf-scanner-place-p))
(defstruct charbuf-scanner-place
"A captured place we can return to later.
(defstruct (charbuf-slice
(:constructor make-charbuf-slice
- (buf &optional (start 0) %end
- &aux (end (or %end (length buf))))))
+ (buf
+ &optional (start 0) %end
+ &aux (end (or %end (length buf))))))
(buf nil :type (or charbuf (eql :eof)) :read-only t)
(start 0 :type (and fixnum unsigned-byte) :read-only t)
(end 0 :type (and fixnum unsigned-byte) :read-only t))
:index index))))
(last-link (charbuf-scanner-place-link place-b)))
(flet ((bad ()
- (error "Incorrect places ~S and ~S to `scanner-interval'."
+ (error "Incorrect places ~S and ~S to `scanner-interval'"
place-a place-b)))
(do ((link (charbuf-scanner-place-link place-a)
(charbuf-chain-link-next link))