11 lines
535 B
Plaintext
11 lines
535 B
Plaintext
|
|
whitespace:ws = [ \b\f\r\t\v];
|
||
|
|
comment-line:alias = "#" [^\n]*;
|
||
|
|
comment = comment-line ("\n" comment-line)*;
|
||
|
|
quoted:alias:nows = "\"" ([^\\"] | "\\" .)* "\"";
|
||
|
|
word:alias:nows = [a-zA-Z_]([a-zA-Z_0-9\-] | "\\" .)*;
|
||
|
|
key = word | quoted;
|
||
|
|
value-chars:alias:nows = ([^\\"\n=# \b\f\r\t\v] | "\\" .)+;
|
||
|
|
value = value-chars+ | quoted;
|
||
|
|
key-val = (comment "\n")? key ("=" value?)? comment-line?;
|
||
|
|
doc:root = (key-val | comment-line | "\n")*;
|