wsv 0.5.0

A collection of implementations of the Whitespace-separated values, as defined by Stenway. Follow the release notes on https://honestlysam.uk
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//! A parser for a WSV file

WHITESPACE  = _{ (!"\n" ~ WHITE_SPACE) }
NewLine     =  { "\"/\"" }
DoubleQuote =  { "\"\"" }
StringPart  =  { (!("\n" | "\"") ~ ANY)+ }

Null    =  { "-" }
Value   = @{ (!("\n" | "\"" | "#" | WHITESPACE) ~ ANY)+ }
String  = ${ ("\"" ~ (DoubleQuote | NewLine | StringPart)* ~ "\"") }
Comment = _{ "#" ~ (!"\n" ~ ANY)* ~ &("\n" | EOI) }

Line =  ${ (Null | String | Value)? ~ (WHITESPACE+ ~ (Null | String | Value))* ~ WHITESPACE* ~ Comment? }
Wsv  =  { SOI ~ Line ~ ("\n" ~ Line)* ~ EOI }