1
0
Fork 0
conf-form/src/grammars/slice.pest
2018-11-16 01:33:03 +01:00

38 lines
691 B
Plaintext

// A simplyfied parser for zeroc configuration.
// See https://doc.zeroc.com/ice/latest/properties-and-configuration for
// details.
CHAR = { ASCII_ALPHANUMERIC | "." | "_" | WHITESPACE }
NO_NEWLINE = _{ !NEWLINE ~ ANY }
WHITESPACE = _{ " " }
SEPARATOR = _{ "=" }
NAME = @{ CHAR+ }
VALUE = @{
(
CHAR
| "/"
| ":"
| ","
| "-"
| "?"
| "="
| "!"
| "\""
| "\\"
| "{"
| "}"
| ";"
| "<"
| ">"
| "&"
| WHITESPACE
)*
}
PROPERTY = { NAME ~ SEPARATOR ~ VALUE }
COMMENT = _{ "#" ~ NO_NEWLINE* }
FILE = { SOI ~ ((COMMENT | PROPERTY)? ~ NEWLINE)* ~ EOI }