diff options
Diffstat (limited to 'input.lisp')
| -rw-r--r-- | input.lisp | 20 | 
1 files changed, 4 insertions, 16 deletions
| @@ -9,30 +9,18 @@    (<= (+ window-size (input-cursor input))        (length (input-data input)))) -(defun peek-1 (input) +(defun prefix? (target input) +  (string= target (input-data input) :start2 (input-cursor input) :end2 (+ (input-cursor input) (length target)))) + +(defun peek (input)    (char (input-data input)          (input-cursor input))) -(defun peek-n (input window-size) -  (subseq (input-data input) -          (input-cursor input) -          (+ window-size (input-cursor input)))) - -(defun peek-rest (input) -  (subseq (input-data input) -          (input-cursor input) -          (length (input-data input)))) -  (defun advance (input &optional (amount 1))    (let ((new-input (copy-structure input)))      (incf (input-cursor new-input) amount)      new-input)) -(defun advance-to-end (input) -  (let ((new-input (copy-structure input))) -    (setf (input-cursor new-input) (length (input-data input))) -    new-input)) -  (declaim (ftype (function (simple-string) (values input &optional)) from-string))  (defun from-string (str)    (make-input :data str)) | 
