# JSON Pegex Grammar
     
     json: <map> | <seq>
     node: <map> | <seq> | <scalar>
     map: /~<LCURLY>~/ <pair>* % /~<COMMA>~/ /~<RCURLY>~/
     pair: <string> /~<COLON>~/ <node>
     seq: /~<LSQUARE>~/ <node>* % /~<COMMA>~/ /~<RSQUARE>~/
     scalar: <string> | <number> | <boolean> | <null>
     string: /<DOUBLE>((?:<BACK><BACK>|<BACK><DOUBLE>|[^<DOUBLE><BREAK>])*)<DOUBLE>/
     number: /(<DASH>?<DIGIT>+(?:<DOT><DIGIT>*)?|<DOT><DIGIT>+)/
     boolean: <true> | <false>
     true: /true/
     false: /false/
     null: /null/