elk/scm/parse.scm

17 lines
448 B
Scheme

;;; -*-Scheme-*-
;;;
;;; string-tokenize -- parse a string into a list of tokens
(define (string-tokenize s)
(let ((i 0) (j)
(n (string-length s)))
(let loop ((args '()))
(while (and (< i n) (char-whitespace? (string-ref s i)))
(set! i (1+ i)))
(if (>= i n)
(reverse! args)
(set! j i)
(while (and (< i n) (not (char-whitespace? (string-ref s i))))
(set! i (1+ i)))
(loop (cons (substring s j i) args))))))