s.wonton.1.29.source-code.json.ebnf Maven / Gradle / Ivy
/*
* Copyright (C) 2015 fuwjax.org ([email protected])
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
$start: value
$ignore: $.unicode.class.whitespace
object: '{' '}' | '{' members '}'
members: pair | pair ',' members
pair: string ':' value
array: '[' ']' | '[' elements ']'
elements: value | value ',' elements
value: string | number | object | array | 'true' | 'false' | 'null'
string: '""' | /"chars"/
chars: char | //
char: legal-unicode | '\\"' | '\\\\' | '\\/' | '\\b' | '\\f' | '\\n' | '\\r' | '\\t' | /\\u/
number: int | // | // | //
int: digit | // | /-/ | /-/
frac: /\./
exp: //
digits: digit | //
e: 'e' | 'e+' | 'e-' | 'E' | 'E+' | 'E-'
legal-unicode: [^"\\\u0000—\u001F\u007F\u0080—\u009F]
four-hex-digits: [0-9a-fA-F]{4}
digit: [0-9]
digit1-9: [1-9]