summaryrefslogtreecommitdiff
path: root/pest_consume/examples/csv/csv.pest
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pest_consume/examples/csv/csv.pest15
1 files changed, 15 insertions, 0 deletions
diff --git a/pest_consume/examples/csv/csv.pest b/pest_consume/examples/csv/csv.pest
new file mode 100644
index 0000000..a67af8c
--- /dev/null
+++ b/pest_consume/examples/csv/csv.pest
@@ -0,0 +1,15 @@
+WHITESPACE = _{ " "+ }
+newline = _{ "\r\n" | "\n" }
+number = { "-"? ~ (ASCII_DIGIT | ".")+ }
+string = { (!"'" ~ ASCII)* }
+field = ${
+ number
+ | "'" ~ string ~ "'"
+}
+record = {
+ field ~ ("," ~ field)*
+ | ""
+}
+file = {
+ SOI ~ record ~ (newline ~ record)* ~ newline? ~ EOI
+}