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|#.*` .