# gron

## Ungron Input Grammar

    Input ::= '--'* Statement (Statement | '--')*
    Statement ::= Path Space* "=" Space* Value ";" "\n"
    Path ::= (BareWord) ("." BareWord | ("[" Key "]"))*
    Value ::= String | Number | "true" | "false" | "null" | "[]" | "{}"
    BareWord ::= (UnicodeLu | UnicodeLl | UnicodeLm | UnicodeLo | UnicodeNl | '$' | '_') (UnicodeLu | UnicodeLl | UnicodeLm | UnicodeLo | UnicodeNl | UnicodeMn | UnicodeMc | UnicodeNd | UnicodePc | '$' | '_')*
    Key ::= [0-9]+ | String
    String ::= '"' (UnescapedRune | ("\" (["\/bfnrt] | ('u' Hex))))* '"'
    UnescapedRune ::= [^#x0-#x1f"\]

### Input

### Statement

### Path

### Value

### BareWord

### Key

### String

### UnescapedRune