Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/syntax/dsltools/hillairet2/extracted
Source used for this grammar: Guillaume Hillairet, DSLModel.ecore
, 2005/07/05
Model
, Element
, ModelElement
, ModelElementLink
, EmbeddingLink
, ReferenceLink
, NamedElement
, Property
, Role
, Value
, IntegerValue
, DoubleValue
, BooleanValue
, StringValue
, Boolean
, Integer
, String
), 0 root (—), 6 top (Model
, Element
, NamedElement
, Boolean
, Integer
, String
), 4 bottom (PrimitiveTypes/String
2, PrimitiveTypes/Double
, PrimitiveTypes/Boolean
, PrimitiveTypes/Integer
).[domainModel]
, [contents]
, [parentLink]
, [properties]
, [embeddinglinks]
, [referencelinks]
, [links]
, [owner]
4, [elements]
, [modelElement]
, [roles]
, [value]
5, [element]
.Model ::=
[domainModel]::PrimitiveTypes/String [contents]::ModelElement
Element ::= ModelElement
Element ::= ReferenceLink
ModelElement ::= ModelElementLink
ModelElement ::= [parentLink]::EmbeddingLink [properties]::Property[embeddinglinks]::EmbeddingLink [referencelinks]::ReferenceLink
ModelElementLink ::=
[links]::ReferenceLink
EmbeddingLink ::=
[owner]::ModelElement [elements]::ModelElement
ReferenceLink ::= [owner]::ModelElement [modelElement]::ModelElementLink [roles]::Role
NamedElement ::= EmbeddingLink
NamedElement ::= Property
NamedElement ::= Role
Property ::= [owner]::ModelElement [value]::Value
Role ::= [element]::ModelElement [owner]::ReferenceLink
Value ::= IntegerValue
Value ::= DoubleValue
Value ::= BooleanValue
Value ::= StringValue
IntegerValue ::= [value]::PrimitiveTypes/Integer
DoubleValue ::= [value]::PrimitiveTypes/Double
BooleanValue ::= [value]::PrimitiveTypes/Boolean
StringValue ::= [value]::PrimitiveTypes/String
Boolean ::= "true" "false"
Integer ::= integer
String ::= string