;; This is adapted from the example in lexgen's documentation (require-extension typeclass input-classes lexgen srfi-1 srfi-14 test) (define char-list- (make- null? car cdr)) (define char-list- (Input->Token char-list-)) (define char-list- (Token->CharLex char-list-)) (import-instance ( char-list- char-list/) ( char-list- char-list/)) (define (err s) (print "lexical error on stream: " s) (list)) (define testpat1 (bar (char-list/char #\.) (char-list/lit "..."))) (define testpat2 (bar (char-list/lit "...") (char-list/char #\.))) (lex testpat1 err "...") (lex testpat2 err "...")