15 lines
602 B
OpenEdge ABL
15 lines
602 B
OpenEdge ABL
// JSON (http://www.json.org)
|
|
ws:alias = [ \b\f\n\r\t];
|
|
true = "true";
|
|
false = "false";
|
|
null = "null";
|
|
string = "\"" ([^\\"\b\f\n\r\t] | "\\" (["\\/bfnrt] | "u" [0-9a-f]{4}))* "\"";
|
|
number = "-"? ("0" | [1-9][0-9]*) ("." [0-9]+)? ([eE] [+\-]? [0-9]+)?;
|
|
entry = string ws* ":" ws* value;
|
|
object = "{" ws* (entry (ws* "," ws* entry)*)? ws* "}";
|
|
array = "[" ws* (value (ws* "," ws* value)*)? ws* "]";
|
|
value:alias = true | false | null | string | number | object | array;
|
|
json = value;
|
|
|
|
// TODO: value should be an alias but test it first like this
|