Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/KM3/extracted
Source used for this grammar: Frédéric Jouault, KM3 1.1, KM3.ecore
, 2004/11/01
Boolean
, Integer
, String
, LocatedElement
, ModelElement
, Classifier
, DataType
, Enumeration
, EnumLiteral
, Class
, StructuralFeature
, Attribute
, Reference
, Package
, Metamodel
), 0 root (—), 1 top (LocatedElement
), 0 bottom (—).[literals]
, [name]
, [package]
, [isAbstract]
, [supertypes]
, [structuralFeatures]
, [lower]
2, [upper]
2, [isOrdered]
2, [isUnique]
2, [owner]
2, [type]
2, [isContainer]
, [opposite]
, [contents]
2, [metamodel]
.Boolean ::= "true" "false"
Integer ::= integer
String ::= string
LocatedElement ::= ModelElement
LocatedElement ::= Metamodel
ModelElement ::= Classifier
ModelElement ::= EnumLiteral
ModelElement ::= StructuralFeature
ModelElement ::= Package
Classifier ::= DataType
Classifier ::= Enumeration
Classifier ::= Class
Classifier ::= DataType Enumeration Class
DataType ::= ε
Enumeration ::=
[literals]::EnumLiteral
EnumLiteral ::= [name]::String [package]::Package
Class ::= [isAbstract]::Boolean [supertypes]::Class[structuralFeatures]::StructuralFeature
StructuralFeature ::= Attribute
StructuralFeature ::= Reference
StructuralFeature ::= [lower]::Integer [upper]::Integer [isOrdered]::Boolean [isUnique]::Boolean [owner]::Class [type]::Classifier
Attribute ::= [lower]::Integer [upper]::Integer [isOrdered]::Boolean [isUnique]::Boolean [owner]::Class [type]::Classifier
Reference ::= [isContainer]::Boolean [opposite]::Reference
Package ::=
[contents]::ModelElement
[metamodel]::MetamodelMetamodel ::=
[contents]::Package