
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: meta/mof/cwm/core/extracted
Source used for this grammar: Hugo Brunelière, CWMCore 1.0, CWMCore.ecore, 2005/08/10
VisibilityKind, BooleanExpression, ModelElement, Dependency, Constraint, Feature, StructuralFeature, Attribute, NameSpace, Classifier, Package, Class, Datatype, Subsystem, Model, Integer, String, Boolean), 0 root (—), 2 top (Integer, Boolean), 0 bottom (—).[vk_public_vis], [vk_private_vis], [vk_protected_vis], [expresssion], [name], [visibility], [contraints], [clientDependencies], [supplierDependencies], [namespace], [importers], [kind], [clients], [suppliers], [body], [constrainedElements], [owner], [type] 2, [ownedElements], [features] 4, [importedElements] 3.VisibilityKind ::= [vk_public_vis]::ε [vk_private_vis]::ε [vk_protected_vis]::ε
BooleanExpression ::= [expresssion]::String
ModelElement ::= Dependency
ModelElement ::= Constraint
ModelElement ::= Feature
ModelElement ::= NameSpace
ModelElement ::= [name]::String [visibility]::VisibilityKind [contraints]::Constraint [clientDependencies]::Dependency [supplierDependencies]::Dependency [namespace]::NameSpace [importers]::Package
Dependency ::= [kind]::String [clients]::ModelElement [suppliers]::ModelElement
Constraint ::=
[body]::BooleanExpression [constrainedElements]::ModelElementFeature ::= StructuralFeature
Feature ::= [owner]::Classifier
StructuralFeature ::= Attribute
StructuralFeature ::= [type]::Classifier
Attribute ::= [type]::Classifier
NameSpace ::= Classifier
NameSpace ::= Package
NameSpace ::=
[ownedElements]::ModelElementClassifier ::= Class
Classifier ::= Datatype
Classifier ::= Subsystem
Classifier ::=
[features]::FeaturePackage ::= Model
Package ::= Subsystem
Package ::=
[importedElements]::ModelElementClass ::=
[features]::FeatureDatatype ::=
[features]::FeatureSubsystem ::= [features]::Feature [importedElements]::ModelElement
Model ::=
[importedElements]::ModelElementInteger ::= integer
String ::= string
Boolean ::= "true" "false"