;;
;; CSV parser combinators specialized for lists of characters.
;;
;; Copyright 2009-2013 Ivan Raikov and the Okinawa Institute of Science
;; and Technology.
;;
;;
;; This program is free software: you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation, either version 3 of
;; the License, or (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; General Public License for more details.
;;
;; A full copy of the GPL license can be found at
;; .
(module csv-char-list
(
csv-parser make-format
list->csv-record csv-record->list csv-record?
)
(import scheme chicken srfi-1)
(require-extension utils data-structures utf8 utf8-srfi-13 typeclass input-classes)
(require-library abnf csv)
(import (only abnf
CharLex->CoreABNF Input->Token
Token->CharLex
)
(only csv make-parser make-format csv-record?
list->csv-record csv-record->list
CoreABNF->CSV )
)
(define char-list-
(make- null? car cdr))
(define char-list-
(Input->Token char-list-))
(define char-list-
(Token->CharLex char-list-))
(define char-list-
(CharLex->CoreABNF char-list-))
(define char-list-
(CoreABNF->CSV char-list- ))
(define char-list-
(CoreABNF->CSV char-list- ))
(define csv-parser (make-parser char-list-))
)