lexgen behaviour added by Traubert on Mon Oct 22 14:21:37 2012

;; This is adapted from the example in lexgen's documentation

(require-extension typeclass input-classes lexgen srfi-1 srfi-14 test)

(define char-list-<Input>
  (make-<Input> null? car cdr))

(define char-list-<Token>
  (Input->Token char-list-<Input>))

(define char-list-<CharLex>
  (Token->CharLex char-list-<Token>))

(import-instance (<Token> char-list-<Token> char-list/)
		 (<CharLex> char-list-<CharLex> 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 "...")