Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: api/api2mol/abstract/extracted
Source used for this grammar: Javier Canovas, Frédéric Jouault, Jordi Cabot, Jesus Garcia Molina, api2mol.ecore
, 2011-04-08 [api2mol.ecore]
Definition
, DefaultMetaclassSection
, Mapping
, Section
, PropertySection
, NewSection
, MultipleSection
, ValueSection
, Statement
, StatementType
, NamedElement
, MethodCall
, Parameter
, Constructor
), 0 root (—), 2 top (Definition
, NamedElement
), 0 bottom (—).[context]
, [defaultMetaclass]
, [mappings]
, [metaclassName]
, [attribute]
, [metaclass]
, [instanceClass]
, [sections]
, [property]
, [statements]
2, [constructors]
, [metaValue]
, [instanceValue]
, [type]
, [variables]
, [calls]
, [GET]
, [SET]
, [APPEND]
, [INSERT_AT]
, [REMOVE]
, [REMOVE_AT]
, [REMOVE_LAST]
, [REMOVE_ALL]
, [COUNT]
, [ACCESSORS]
, [DIRECT]
, [params]
2, [name]
.Definition ::= [context]::string[defaultMetaclass]::DefaultMetaclassSection [mappings]::Mapping
DefaultMetaclassSection ::= [metaclassName]::string [attribute]::string
Mapping ::=
[metaclass]::string [instanceClass]::string [sections]::Section
Section ::= DefaultMetaclassSection
Section ::= PropertySection
Section ::= NewSection
Section ::= MultipleSection
Section ::= ValueSection
PropertySection ::=
[property]::string [statements]::Statement
NewSection ::=
[constructors]::Constructor
MultipleSection ::=
[statements]::Statement
ValueSection ::= [metaValue]::string [instanceValue]::string
Statement ::= [type]::StatementType [variables]::string[calls]::MethodCall
StatementType ::= [GET]::ε [SET]::ε [APPEND]::ε [INSERT_AT]::ε [REMOVE]::ε [REMOVE_AT]::ε [REMOVE_LAST]::ε [REMOVE_ALL]::ε [COUNT]::ε [ACCESSORS]::ε [DIRECT]::ε
NamedElement ::= MethodCall
NamedElement ::= Parameter
MethodCall ::= Constructor
MethodCall ::=
[params]::Parameter
Parameter ::= [name]::string
Constructor ::=
[params]::Parameter