# Compiled JSON Pegex Grammar
+top: json
json:
.any:
- .ref: map
- .ref: seq
node:
.any:
- .ref: map
- .ref: seq
- .ref: scalar
map:
.all:
- .rgx: \s*\{\s*
- +min: 0
.ref: pair
.sep:
.rgx: \s*,\s*
- .rgx: \s*\}\s*
pair:
.all:
- .ref: string
- .rgx: \s*:\s*
- .ref: node
seq:
.all:
- .rgx: \s*\[\s*
- +min: 0
.ref: node
.sep:
.rgx: \s*,\s*
- .rgx: \s*\]\s*
scalar:
.any:
- .ref: string
- .ref: number
- .ref: boolean
- .ref: 'null'
string:
.rgx: '"((?:\\\\|\\"|[^"\n])*)"'
number:
.rgx: (\-?[0-9]+(?:\.[0-9]*)?|\.[0-9]+)
boolean:
.any:
- .ref: 'true'
- .ref: 'false'
'true':
.rgx: 'true'
'false':
.rgx: 'false'
'null':
.rgx: 'null'