(define-module (patterns) #:use-module (ice-9 peg) #:export (file)) (define-peg-pattern field-part all (* (or "\\\"" (followed-by (or "|" "\"")) peg-any))) (define-peg-pattern field all (and (ignore "\"") (* (and field-part (ignore (? (or "|"))))) (ignore "\"")) ) (define-peg-pattern line all (+ (and field (ignore (? ",")) (ignore (* " "))))) (define-peg-pattern file body (+ (and line (ignore (? "\n")))))