# 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'