diff options
author | Hugo Hörnquist <hugo@hornquist.se> | 2018-10-24 03:18:42 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@hornquist.se> | 2018-10-24 03:18:42 +0200 |
commit | b808e226ed25c7409edfc4fe5dc9ef9edafe66d4 (patch) | |
tree | fed302e34011416884676e3f4cc854dabd78dcf9 /patterns.scm | |
download | lyslib-b808e226ed25c7409edfc4fe5dc9ef9edafe66d4.tar.gz lyslib-b808e226ed25c7409edfc4fe5dc9ef9edafe66d4.tar.xz |
Initial commit
Diffstat (limited to 'patterns.scm')
-rw-r--r-- | patterns.scm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/patterns.scm b/patterns.scm new file mode 100644 index 0000000..dc8ce98 --- /dev/null +++ b/patterns.scm @@ -0,0 +1,21 @@ +(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"))))) |