|
|
@ -185,6 +185,7 @@
|
|
|
|
((not (input-port? ip))
|
|
|
|
((not (input-port? ip))
|
|
|
|
(raise-type-error 'make-lex-buf "input-port" 0 ip))
|
|
|
|
(raise-type-error 'make-lex-buf "input-port" 0 ip))
|
|
|
|
(else
|
|
|
|
(else
|
|
|
|
|
|
|
|
(port-count-lines! ip)
|
|
|
|
(make-lex-buffer ip 0 0 0 0))))
|
|
|
|
(make-lex-buffer ip 0 0 0 0))))
|
|
|
|
((ip offsets)
|
|
|
|
((ip offsets)
|
|
|
|
(cond
|
|
|
|
(cond
|
|
|
@ -196,6 +197,7 @@
|
|
|
|
(not (andmap (lambda (x) (>= x 0)) offsets)))
|
|
|
|
(not (andmap (lambda (x) (>= x 0)) offsets)))
|
|
|
|
(raise-type-error 'make-lex-buf "list of 3 non-negative exact integers" 1 ip offsets))
|
|
|
|
(raise-type-error 'make-lex-buf "list of 3 non-negative exact integers" 1 ip offsets))
|
|
|
|
(else
|
|
|
|
(else
|
|
|
|
|
|
|
|
(port-count-lines! ip)
|
|
|
|
(make-lex-buffer ip 0 (car offsets) (cadr offsets) (caddr offsets)))))))
|
|
|
|
(make-lex-buffer ip 0 (car offsets) (cadr offsets) (caddr offsets)))))))
|
|
|
|
|
|
|
|
|
|
|
|
(define (next-char lb)
|
|
|
|
(define (next-char lb)
|
|
|
|