
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/ocl/types/extracted
Source used for this grammar: Julien Baudry, OCL_Types.ecore, 2006/07/10
Type, BasicType, InstanceType, EnumType, OclAnyType, OclTypeType, CollectionType, IntegerType, RealType, StringType, BooleanType, Classifier, EnumLiteral, SetType, SequenceType, BagType, Boolean, Integer, String), 0 root (—), 3 top (Boolean, Integer, String), 0 bottom (—).[classifier], [enumLiteral], [supertype] 2, [subtype] 2, [collectionType] 2, [instanceType], [enumType], [elementType] 3.Type ::= BasicType
Type ::= InstanceType
Type ::= EnumType
Type ::= OclAnyType
Type ::= OclTypeType
Type ::= CollectionType
BasicType ::= IntegerType
BasicType ::= RealType
BasicType ::= StringType
BasicType ::= BooleanType
InstanceType ::= [classifier]::Classifier
EnumType ::=
[enumLiteral]::EnumLiteralOclAnyType ::= [supertype]::Type [subtype]::Type [collectionType]::CollectionType
OclTypeType ::= [supertype]::Type [subtype]::Type [collectionType]::CollectionType
CollectionType ::= SetType
CollectionType ::= SequenceType
CollectionType ::= BagType
IntegerType ::= ε
RealType ::= ε
StringType ::= ε
BooleanType ::= ε
Classifier ::= [instanceType]::InstanceType
EnumLiteral ::= [enumType]::EnumType
SetType ::= [elementType]::Type
SequenceType ::= [elementType]::Type
BagType ::= [elementType]::Type
Boolean ::= "true" "false"
Integer ::= integer
String ::= string