Formal Grammar (EBNF)
The grammar of Internet Object in EBNF.
Document
document = [ header "---" ] section { sectionBreak section }
| value ; (* a bare, header-less value/object *)
header = { definition } ;
section = [ sectionTag ] ( collection | object ) ;
sectionBreak = "---" [ sectionTag ] ;
sectionTag = name [ ":" schemaRef ] (* e.g. employee : $employee *)
| schemaRef ; (* e.g. $employee *)Header definitions
definition = "~" key ":" defValue ;
key = metaKey | variableKey | refKey ;
metaKey = name ; (* metadata *)
variableKey = "@" name ; (* value variable *)
refKey = "$" name ; (* schema/type reference *)
defValue = value | schema ;
schemaRef = "$" name ;Collections and records
Objects and arrays
Values
Schema (MemberDef and SchemaDef)
Lexical
See Also
Last updated
Was this helpful?
