Name = "JSON Grammar". Author = "d3x0r". Version = "1.0". Val = "(Value)" (|"whitespace") ( ("(Comment)" ( ( "/" "/" { "character not \n or \r" } ("\r"|"\n") ) | ( "/" "*" { "character" } "*" "/" ) ))| ( "(whitespace)" ( "\x20" | "\r" | "\n" | "\t" | "\u07ec" | "\u07ed" ) ) | ( "(ident)" ( "String" | ( "non-digit" | "non-operator" | "not { [ ( ) ] } , : double-quote ' `" | "unicode non-identifier characters" | "a-z" "A-Z" ) { | "non-operator" | "not { [ ( ) ] } , : double-quote ' `" | "unicode non-identifier characters" | "a-z" "A-Z" "0-9" } ) )| ( "(Object)" "{" ( (|"whitespace")ident(|"whitespace") ":" Value ) { "," ( (|"whitespace") ident (|"whitespace") ":" Value) } "}" ) | ( "(typed-object-def)" ident "{" (|"whitespace")(ident (|"whitespace")) { "," (|"whitespace") (ident (|"whitespace")) } "}" ) | ( "(typed-object-use)" ident "{" ( Value ) { "," (Value) } "}" ) | ( "(Array)" "[" ( Value ) { "," Value } "]" ) | ( "(TypedArray)" ( "a" "b" | "u" "8" | "s" "8" | "u" "c" "8" | "u" "1" "6" | "s" "1" "6" | "u" "3" "2" | "s" "3" "2" | "f" "3" "2" | "f" "6" "4" ) "[" "base64 ArrayBuffer bytes" "]" ) | ( "(reference)" "r" "e" "f" "[" ( (|"whitespace")( "ident" | "int" ) (|"whitespace") { ("," (|"whitespace")( "ident" | "int" )(|"whitespace")) }) "]" ) | ( "(typed-array)" "ident" "[" ( Value ) { "," Value } "]" ) | ( "(typed-string)" "ident" String ) | ( |"-") ( "NaN" | "Infinity" | ( ( "-" | "+" ) { "-" | "+" } | ("0-9") ) "/*Number Parser Bgin*/" ( "/* underscore '_' between any following sequence's symbols */" | ( "(BigInt)" { "0-9" } "n" ) | "(Number)"( "(int)"( "0" ( ( ( "x" | "X" ) ("0-9" | "A-F" | "a-f") { "0-9" | "A-F" | "a-f" } ) | ( ( "o" | "O" ) "0-7" { "0-7" } ) | ( ( "b" | "B" ) "0-1" { "0-1" } ) | ( "0-9" {"0-9"}) ) ) | "(float)" ( "0-9" | "." ) { "0-9" | "."} ( "(int) if no . " | ( ( "e" | "E" ) ( "0-9" | "+" "0-9" | "-" "0-9" ) { "0-9" } ) ) ) ( |"NOT THESE:" ( "0-9"| "-"| ":"| "+" | "A-F"| "a-f" ) ) "/*number terminator*/" ( "," | "}" | "]" | "whitespace /* outside of array or object */" ) | "(Date)" ( ( ("0-9" | ":" | "T" | "-" | "+") { "0-9" | ":" | "T" | "-" | "+" }) ( ( |"NOT THESE:" ( "0-9"| "-"| ":"| "+" | "Z"| "T" ) ) "/*date terminator*/" ( "," | "}" | "]" | "whitespace /* outside of array or object */" ) | ( |"+"|"-") "0-9" "0-9" ":" "0-9" "0-9" | "Z" ) ) )) | ("(String)" ( ( "(Legal Escapes)" ( "b" | "n" | "r" | "f" | "t" | ("'" | '"' | "`") | ( "u" ( "{" {"0-9" | "A-F" | "a-f"} "}" | "4 hex digits" ) ) | ( "x" ("0-9" | "A-F" | "a-f") ("0-9" | "A-F" | "a-f") ) | ( "0-2" "0-7" "0-7" ) ) )| ( '"' (( 'character not " or \ ' ) | ( '\' '"' ) | ("\" "\" ) | ( "\" "Legal Escapes" ) ) { ( 'character not " or \ ' ) | ( '\' '"' ) | ("\" "\" ) | ( "\" "Legal Escapes" ) } '"' ) | ( "'" ( "character not ' or \" | ( "\" "'" ) | ("\" "\" ) | ( "\" "Legal Escapes" ) ) { "character not ' or \" | ( "\" "'" ) | ("\" "\" ) | ( "\" "Legal Escapes" ) } "'" ) | ( "`" ( "character not ` or \" | ( "\" '`' ) | ("\" "\" ) | ( "\" "Legal Escapes" ) ) { "character not ` or \" | ( "\" '`' ) | ("\" "\" ) | ( "\" "Legal Escapes" ) } "`" ) ) )| true | false | null | undefined ) (|"whitespace"). NumberRule = ("(Number/Date/BigInt)" ( |"-") ( "NaN" | "Infinity" | ( ( "-" | "+" ) { "-" | "+" } | ("0-9") ) "/*Number Parser Bgin*/" ( "/* underscore '_' between any following sequence's symbols */" | ( "(BigInt)" { "0-9" } "n" ) | "(Number)"( "(int)"( "0" ( ( ( "x" | "X" ) ("0-9" | "A-F" | "a-f") { "0-9" | "A-F" | "a-f" } ) | ( ( "o" | "O" ) "0-7" { "0-7" } ) | ( ( "b" | "B" ) "0-1" { "0-1" } ) | ( "0-9" {"0-9"}) ) ) | "(float)" ( "0-9" | "." ) { "0-9" | "."} ( "(int) if no . " | ( ( "e" | "E" ) ( "0-9" | "+" "0-9" | "-" "0-9" ) { "0-9" } ) ) ) ( |"NOT THESE:" ( "0-9"| "-"| ":"| "+" | "A-F"| "a-f" ) ) "/*number terminator*/" ( "," | "}" | "]" | "whitespace /* outside of array or object */" ) | "(Date)" ( ( ("0-9" | ":" | "T" | "-" | "+") { "0-9" | ":" | "T" | "-" | "+" }) ( ( |"NOT THESE:" ( "0-9"| "-"| ":"| "+" | "Z"| "T" ) ) "/*date terminator*/" ( "," | "}" | "]" | "whitespace /* outside of array or object */" ) | ( |"+"|"-") "0-9" "0-9" ":" "0-9" "0-9" | "Z" ) ) ))).