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]::EnumLiteral
OclAnyType ::= [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