blob: 965c5c74821083efbfe50c27929f07b3f29190ab (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
Config = Doc .
Doc = Stmt { Stmt } .
Stmt = Word (Assignment | Command) .
# Statements
Assignment = "=" Values br .
Command = [Values] ( Body | br ) .
# Value types
Values = Value {Value} .
Value = Word | String | Number | Boolean .
Body = lbrace [ Doc ] rbrace .
# Atoms
Word = word .
Number = number .
Boolean = boolean .
String = str .
# Primitives
word = `[a-zA-Z_][a-zA-Z0-9_]*` .
number = `-?[0-9]+(\.[0-9]+)?` .
boolean = `true|false` .
str = `"[^"]*"` | `'[^']*'` | '`' { `[^\x60]` } '`' .
lbrace = "{" .
rbrace = "}" .
br = ";" .
white_space = ` |\t|\r|\n|#.*` .
|