
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/EXPRESSb/extracted
Source used for this grammar: Jim Steel, EXPRESS 0.2, EXPRESSb.ecore, 2010/07/23
ONEOFConstraint, SupertypeRule, SubtypeConstraint, Extent, TOTAL_OVERConstraint, ANDConstraint, GlobalRule, NamedRule, ProcedureCall, SkipStatement, AliasStatement, ControlVariable, AliasVariable, VARCell, NullStatement, AttributeCell, StatementBlock, CaseAction, MemberCell, RepeatStatement, GroupCell, VariableCell, CaseStatement, IfStatement, EscapeStatement, ReturnStatement, Assignment, String, Integer, Boolean, RepeatCount, EnumItemRef, Literal, BinaryIndex, IndeterminateRef, SELFRef, BinaryOperation, AggregateInitializer, StringIndex, PartialEntityConstructor, Coercion, ActualParameter, ParameterRef, AttributeRef, AggregateIndex, GroupRef, UnaryOperation, UsedInRef, ConstantRef, QueryExpression, QueryVariable, AttributeBinding, FunctionCall, MemberBinding, ExtentRef, VariableRef, SingleEntityType, AGGREGATEType, GeneralBAGType, DomainRule, Expression, InverseAttribute, EnumerationType, ArrayBound, GeneralSETType, LISTType, Redeclaration, EntityType, PartialEntityType, Schema, InvertibleAttribute, InterfacedElement, NumericType, UniqueRule, DomainRole, GeneralLISTType, BAGType, RealType, LogicType, GenericType, StringType, DerivedAttribute, RangeRole, Remark, SizeConstraint, SETType, SpecializedType, GeneralARRAYType, Relationship, LengthConstraint, BinaryType, ScopedId, SelectType, ExplicitAttribute, ARRAYType, ActualTypeConstraint, FunctionResult, Function, InParameter, LocalVariable, ActualStructure, ActualGenericType, Statement, InVariable, Procedure, ActualARRAYType, ActualSETType, ActualAGGREGATEType, ActualStructureConstraint, ActualLISTType, VARParameter, ActualDataType, ActualBAGType, AttributeValue, ARRAYValue, RoleName, EntityInstance, IntegerValue, Constant, LogicalValue, ListMember, BagMember, SingleEntityValue, Indeterminate, SingleLeafInstance, GenericAggregate, BinaryValue, SpecializedValue, BAGValue, EnumerationItem, EntityValue, SETValue, ArrayMember, Population, RealValue, BooleanValue, LISTValue, StringValue, TypeName, PartialEntityValue, NumberValue, MultiLeafInstance), 0 root (—), 142 top (ONEOFConstraint, SupertypeRule, SubtypeConstraint, Extent, TOTAL_OVERConstraint, ANDConstraint, GlobalRule, NamedRule, ProcedureCall, SkipStatement, AliasStatement, ControlVariable, AliasVariable, VARCell, NullStatement, AttributeCell, StatementBlock, CaseAction, MemberCell, RepeatStatement, GroupCell, VariableCell, CaseStatement, IfStatement, EscapeStatement, ReturnStatement, Assignment, String, Integer, Boolean, RepeatCount, EnumItemRef, Literal, BinaryIndex, IndeterminateRef, SELFRef, BinaryOperation, AggregateInitializer, StringIndex, PartialEntityConstructor, Coercion, ActualParameter, ParameterRef, AttributeRef, AggregateIndex, GroupRef, UnaryOperation, UsedInRef, ConstantRef, QueryExpression, QueryVariable, AttributeBinding, FunctionCall, MemberBinding, ExtentRef, VariableRef, SingleEntityType, AGGREGATEType, GeneralBAGType, DomainRule, Expression, InverseAttribute, EnumerationType, ArrayBound, GeneralSETType, LISTType, Redeclaration, EntityType, PartialEntityType, Schema, InvertibleAttribute, InterfacedElement, NumericType, UniqueRule, DomainRole, GeneralLISTType, BAGType, RealType, LogicType, GenericType, StringType, DerivedAttribute, RangeRole, Remark, SizeConstraint, SETType, SpecializedType, GeneralARRAYType, Relationship, LengthConstraint, BinaryType, ScopedId, SelectType, ExplicitAttribute, ARRAYType, ActualTypeConstraint, FunctionResult, Function, InParameter, LocalVariable, ActualStructure, ActualGenericType, Statement, InVariable, Procedure, ActualARRAYType, ActualSETType, ActualAGGREGATEType, ActualStructureConstraint, ActualLISTType, VARParameter, ActualDataType, ActualBAGType, AttributeValue, ARRAYValue, RoleName, EntityInstance, IntegerValue, Constant, LogicalValue, ListMember, BagMember, SingleEntityValue, Indeterminate, SingleLeafInstance, GenericAggregate, BinaryValue, SpecializedValue, BAGValue, EnumerationItem, EntityValue, SETValue, ArrayMember, Population, RealValue, BooleanValue, LISTValue, StringValue, TypeName, PartialEntityValue, NumberValue, MultiLeafInstance), 93 bottom (rules/SubtypeConstraint 2, instances/EntityName, expressions/UnaryOperator, instances/Population, instances/PartialEntityValue 2, algorithms/Parameter 2, mof/Boolean 19, expressions/AttributeBinding, core/UniqueRule, rules/NamedRule, algorithms/ActualDataType 2, instances/EntityValue, instances/ConcreteValue, core/ScopedId 8, instances/GenericAggregate, core/Identifier 19, expressions/BinaryOperator, rules/SupertypeRule, algorithms/InParameter, algorithms/VARVariable, core/ExplicitAttribute 4, core/Redeclaration 2, algorithms/ActualStructureConstraint, rules/GlobalRule, expressions/MemberBinding, core/ArrayBound 6, core/SingleEntityType 6, instances/SingleEntityValue, instances/Constant, statements/VARExpression 7, core/DataType, core/ParameterType, core/NamedElement, core/LengthConstraint 2, mof/Integer 15, statements/CaseAction, core/EnumerationType 3, instances/BagMember, core/Schema 3, algorithms/ActualTypeConstraint, expressions/QueryVariable, core/Remark, statements/ControlVariable, core/PartialEntityType, core/SizeConstraint 6, instances/SimpleValue, core/EntityType 13, core/ExpressText 3, algorithms/InVariable, core/InstantiableType, core/Attribute 7, core/DomainRole 3, algorithms/NamedVariable, expressions/FunctionCall, instances/Indeterminate, core/AGGREGATEType, statements/RepeatStatement, instances/EntityInstance 3, instances/ListMember 2, statements/StatementBlock, instances/EnumerationItem 3, core/Expression 33, core/Relationship, algorithms/Procedure, algorithms/Variable, expressions/ActualParameter 2, core/SelectType 2, statements/ProcedureCall, core/AttributeType, core/Role 3, core/VariableType 2, instances/AttributeValue 2, core/Instance 8, statements/SkipStatement, core/InvertibleAttribute 5, core/Scope 3, algorithms/Statement 7, algorithms/Algorithm, algorithms/Function, core/NamedType 4, statements/EscapeStatement, core/RangeRole 3, rules/Extent 3, instances/ArrayMember, core/InterfacedElement, core/GenericType, statements/AliasVariable, algorithms/FunctionResult 2, expressions/RepeatCount, core/InverseAttribute 2, algorithms/ActualStructure 2, core/ConcreteType, core/SchemaElement 3).[namedSupertype], [constraints] 2, [assertsAbstract], [constrainedSubtypes], [equivalentRule], [collection], [content], [withinPopulation], [constraintRules], [forType], [id] 17, [supportingBody], [constrainedExtents], [containsRules], [assertsExpression], [position] 9, [invokes], [actualParameters] 2, [bindsToReference], [body] 2, [aliasVariable], [boundValue], [initialValue] 2, [increment], [referent], [refersTo] 18, [baseEntity] 2, [bodyStatements_Statement], [delimited], [labelValue], [action], [isDefault], [indexValue] 2, [baseAggregate], [whileExpression], [controlVariable], [untilExpression], [cases], [selectionExpression], [ifCondition], [elseActions], [thenActions], [returnValue], [assignedValue], [variable] 2, [derivation] 3, [firstBit], [lastBit], [leftOperand], [rightOperand], [operator] 2, [resultValue] 2, [bindings] 2, [firstCode], [lastCode], [attributeGroup], [operand], [targetType], [inProcedureCall], [inFunctionCall], [formalParameter], [actualReferent], [actualValue] 3, [unaryOperand], [inverseOf], [selectCondition], [queryVariable], [aggregateOperand], [attributeValue], [toValue], [attribute] 2, [invokesFunction], [returnsResult], [repetition], [toSlot], [memberValue] 5, [declaresExplicitAttribute], [declaresAttribute], [declaredIn] 2, [equivalent] 2, [upperBound] 3, [memberType] 2, [constraint] 2, [lowerBound] 3, [evaluation], [interpretationContext], [dataType] 2, [text] 3, [modelsRole] 2, [explicit], [isUnique], [values], [declaredItems], [extension] 3, [base] 2, [isExtensible] 2, [boundExpression], [bound] 2, [restrictedType], [refines], [scope], [originalAttribute], [refinedRole], [isMandatory], [alias], [playsRole], [redeclarations], [attributes], [playsRangeRole], [declares], [invertibleAttributes], [playsDomainRole], [uniqueRules], [usedIn], [subtypeOf], [isAbstract], [components] 2, [documentation], [interfaces], [schemaElements], [interfacedElements], [name], [version], [inverse], [rangeType], [createsRelationship], [referencingType], [interfacingSchema], [isUSE], [interfacedId], [domain] 3, [keyComponent], [rangeView], [precision], [isEntity] 3, [stringLengthConstraint], [domainView], [range] 2, [describesSchema], [appearsIn], [describesElement], [isTagged], [isTail], [underlyingType], [hiIndex] 3, [loIndex] 3, [isOptional] 4, [roles], [basedOn], [maxLength], [isFixed], [binaryLengthConstraint], [localName], [definingScope], [allowedTypes], [selectList], [matchingType], [requiredType], [label] 4, [result], [inBlock], [bodyStatementsSkipStatement], [bodyStatementsEscapeStatement], [controlledBy], [implements], [source], [matchingStructure], [requiredStructure], [memberSlot] 3, [represents] 2, [state], [instanceOf], [valueExpression], [count], [ofType], [properties], [characterizingType], [fundamentalValue], [correspondsTo], [describes], [index], [compositionEntityInstance], [compositionInstance], [governingSchema].ONEOFConstraint ::= ε
SupertypeRule ::=
[namedSupertype]::core/EntityType [constraints]::rules/SubtypeConstraint [assertsAbstract]::mof/BooleanSubtypeConstraint ::=
[constrainedSubtypes]::rules/Extent [equivalentRule]::core/Expression [collection]::rules/SupertypeRuleExtent ::= [constraints]::rules/SubtypeConstraint [content]::instances/EntityInstance [withinPopulation]::instances/Population [constraintRules]::rules/GlobalRule [forType]::core/EntityType [id]::core/ScopedId
TOTAL_OVERConstraint ::= ε
ANDConstraint ::= ε
GlobalRule ::= [supportingBody]::algorithms/Statement [constrainedExtents]::rules/Extent [containsRules]::rules/NamedRule
NamedRule ::= [assertsExpression]::core/Expression [position]::mof/Integer
ProcedureCall ::=
[invokes]::algorithms/Procedure [actualParameters]::expressions/ActualParameterSkipStatement ::= ε
AliasStatement ::= [bindsToReference]::statements/VARExpression [body]::algorithms/Statement [aliasVariable]::statements/AliasVariable
ControlVariable ::= [boundValue]::core/Expression [initialValue]::core/Expression [increment]::core/Expression
AliasVariable ::= [referent]::statements/VARExpression
VARCell ::= [refersTo]::algorithms/VARVariable [id]::core/Identifier
NullStatement ::= ε
AttributeCell ::= [refersTo]::core/ExplicitAttribute [baseEntity]::statements/VARExpression [id]::core/Identifier
StatementBlock ::=
[bodyStatements_Statement]::algorithms/Statement [delimited]::mof/BooleanCaseAction ::=
[labelValue]::core/Expression [action]::algorithms/Statement [isDefault]::mof/BooleanMemberCell ::= [indexValue]::core/Expression [baseAggregate]::statements/VARExpression
RepeatStatement ::= [whileExpression]::core/Expression [body]::algorithms/Statement [controlVariable]::statements/ControlVariable [untilExpression]::core/Expression
GroupCell ::= [baseEntity]::statements/VARExpression [refersTo]::core/SingleEntityType [id]::core/Identifier
VariableCell ::= [refersTo]::algorithms/Variable [id]::core/Identifier
CaseStatement ::=
[cases]::statements/CaseAction [selectionExpression]::core/ExpressionIfStatement ::= [ifCondition]::core/Expression [elseActions]::algorithms/Statement [thenActions]::algorithms/Statement
EscapeStatement ::= ε
ReturnStatement ::= [returnValue]::core/Expression
Assignment ::= [assignedValue]::core/Expression [variable]::statements/VARExpression
String ::= string
Integer ::= integer
Boolean ::= "true" "false"
RepeatCount ::= [derivation]::core/Expression
EnumItemRef ::= [refersTo]::instances/EnumerationItem [id]::core/Identifier
Literal ::= [refersTo]::instances/SimpleValue
BinaryIndex ::= [firstBit]::core/Expression [lastBit]::core/Expression
IndeterminateRef ::= [refersTo]::instances/Indeterminate
SELFRef ::= ε
BinaryOperation ::= [leftOperand]::core/Expression [rightOperand]::core/Expression [operator]::expressions/BinaryOperator
AggregateInitializer ::=
[resultValue]::instances/GenericAggregate [bindings]::expressions/MemberBindingStringIndex ::= [firstCode]::core/Expression [lastCode]::core/Expression
PartialEntityConstructor ::=
[resultValue]::instances/PartialEntityValue [attributeGroup]::core/SingleEntityType [bindings]::expressions/AttributeBinding [id]::core/IdentifierCoercion ::= [operand]::core/Expression [targetType]::core/VariableType
ActualParameter ::= [inProcedureCall]::statements/ProcedureCall [inFunctionCall]::expressions/FunctionCall [formalParameter]::algorithms/Parameter [actualReferent]::statements/VARExpression [actualValue]::core/Expression [position]::mof/Integer
ParameterRef ::= [refersTo]::algorithms/Parameter [id]::core/Identifier
AttributeRef ::= [refersTo]::core/Attribute [id]::core/Identifier
AggregateIndex ::= [indexValue]::core/Expression
GroupRef ::= [refersTo]::core/SingleEntityType [id]::core/Identifier
UnaryOperation ::= [unaryOperand]::core/Expression [operator]::expressions/UnaryOperator
UsedInRef ::= [inverseOf]::core/Attribute
ConstantRef ::= [refersTo]::instances/Constant [id]::core/Identifier
QueryExpression ::= [selectCondition]::core/Expression [queryVariable]::expressions/QueryVariable [aggregateOperand]::core/Expression
QueryVariable ::= ε
AttributeBinding ::= [attributeValue]::core/Expression [toValue]::instances/AttributeValue [attribute]::core/ExplicitAttribute [position]::mof/Integer
FunctionCall ::=
[actualParameters]::expressions/ActualParameter [invokesFunction]::algorithms/Function [returnsResult]::algorithms/FunctionResultMemberBinding ::=
[repetition]::expressions/RepeatCount [toSlot]::instances/ListMember [memberValue]::core/Expression [position]::mof/IntegerExtentRef ::= [refersTo]::core/NamedType [id]::core/Identifier
VariableRef ::= [refersTo]::algorithms/NamedVariable [id]::core/Identifier
SingleEntityType ::= [declaresExplicitAttribute]::core/ExplicitAttribute [declaresAttribute]::core/Attribute [declaredIn]::core/EntityType [equivalent]::core/PartialEntityType [id]::core/ScopedId
AGGREGATEType ::= [upperBound]::core/SizeConstraint [memberType]::core/ParameterType [constraint]::algorithms/ActualStructureConstraint [lowerBound]::core/SizeConstraint
GeneralBAGType ::= ε
DomainRule ::= [position]::mof/Integer
Expression ::= [evaluation]::core/Instance [interpretationContext]::core/Scope [dataType]::core/DataType [text]::core/ExpressText
InverseAttribute ::= [modelsRole]::core/DomainRole [explicit]::core/InvertibleAttribute [isUnique]::mof/Boolean
EnumerationType ::= [values]::instances/EnumerationItem [declaredItems]::instances/EnumerationItem [extension]::core/EnumerationType [base]::core/EnumerationType [isExtensible]::mof/Boolean
ArrayBound ::= [boundExpression]::core/Expression [bound]::mof/Integer
GeneralSETType ::= ε
LISTType ::= ε
Redeclaration ::= [derivation]::core/Expression [restrictedType]::core/AttributeType [refines]::core/Redeclaration [upperBound]::core/SizeConstraint [lowerBound]::core/SizeConstraint [scope]::core/EntityType [originalAttribute]::core/Attribute [refinedRole]::core/Role [position]::mof/Integer [isMandatory]::mof/Boolean [alias]::core/ScopedId
EntityType ::= [playsRole]::core/Role [redeclarations]::core/Redeclaration [attributes]::core/Attribute [playsRangeRole]::core/RangeRole [declares]::core/SingleEntityType [extension]::rules/Extent [invertibleAttributes]::core/InvertibleAttribute [playsDomainRole]::core/DomainRole [uniqueRules]::core/UniqueRule [usedIn]::core/InvertibleAttribute [subtypeOf]::core/EntityType [isAbstract]::mof/Boolean
PartialEntityType ::=
[components]::core/SingleEntityTypeSchema ::= [documentation]::core/Remark [interfaces]::core/InterfacedElement [schemaElements]::core/SchemaElement [interfacedElements]::core/SchemaElement [name]::core/Identifier [version]::core/Identifier
InvertibleAttribute ::= [inverse]::core/InverseAttribute [rangeType]::core/EntityType [createsRelationship]::core/Relationship [referencingType]::core/EntityType [modelsRole]::core/RangeRole
InterfacedElement ::= [interfacingSchema]::core/Schema [refersTo]::core/SchemaElement [isUSE]::mof/Boolean [interfacedId]::core/ScopedId
NumericType ::= ε
UniqueRule ::=
[domain]::core/EntityType [keyComponent]::core/Attribute [position]::mof/IntegerDomainRole ::= [rangeView]::core/InverseAttribute [domain]::core/EntityType [id]::core/ScopedId
GeneralLISTType ::= ε
BAGType ::= ε
RealType ::= [precision]::mof/Integer
LogicType ::= ε
GenericType ::= [constraint]::algorithms/ActualTypeConstraint [isEntity]::mof/Boolean
StringType ::= [stringLengthConstraint]::core/LengthConstraint
DerivedAttribute ::= [derivation]::core/Expression
RangeRole ::= [domainView]::core/InvertibleAttribute [range]::core/EntityType [id]::core/ScopedId
Remark ::= [describesSchema]::core/Schema [appearsIn]::core/Scope [describesElement]::core/NamedElement [isTagged]::mof/Boolean [isTail]::mof/Boolean [text]::core/ExpressText
SizeConstraint ::= [bound]::mof/Integer
SETType ::= ε
SpecializedType ::= [underlyingType]::core/ConcreteType
GeneralARRAYType ::= [hiIndex]::core/ArrayBound [loIndex]::core/ArrayBound [isOptional]::mof/Boolean
Relationship ::= [domain]::core/DomainRole [roles]::core/Role [basedOn]::core/InvertibleAttribute [range]::core/RangeRole
LengthConstraint ::= [maxLength]::mof/Integer [isFixed]::mof/Boolean
BinaryType ::= [binaryLengthConstraint]::core/LengthConstraint
ScopedId ::= [localName]::core/Identifier [definingScope]::core/Scope
SelectType ::= [allowedTypes]::core/NamedType [extension]::core/SelectType [base]::core/SelectType [selectList]::core/NamedType [isExtensible]::mof/Boolean [isEntity]::mof/Boolean
ExplicitAttribute ::= [isOptional]::mof/Boolean
ARRAYType ::= [loIndex]::core/ArrayBound [hiIndex]::core/ArrayBound [isOptional]::mof/Boolean
ActualTypeConstraint ::= [matchingType]::core/GenericType [requiredType]::algorithms/ActualDataType [label]::core/Identifier
FunctionResult ::= ε
Function ::= [result]::algorithms/FunctionResult
InParameter ::= [variable]::algorithms/InVariable
LocalVariable ::= [initialValue]::core/Expression
ActualStructure ::= ε
ActualGenericType ::= [refersTo]::algorithms/ActualDataType [isEntity]::mof/Boolean [label]::core/Identifier
Statement ::= [inBlock]::statements/StatementBlock [bodyStatementsSkipStatement]::statements/SkipStatement [bodyStatementsEscapeStatement]::statements/EscapeStatement [controlledBy]::statements/RepeatStatement [implements]::algorithms/Algorithm [text]::core/ExpressText
InVariable ::= [source]::algorithms/InParameter
Procedure ::= ε
ActualARRAYType ::= [hiIndex]::core/ArrayBound [loIndex]::core/ArrayBound [isOptional]::mof/Boolean
ActualSETType ::= ε
ActualAGGREGATEType ::= [upperBound]::core/SizeConstraint [refersTo]::algorithms/ActualStructure [memberType]::core/VariableType [lowerBound]::core/SizeConstraint [label]::core/Identifier
ActualStructureConstraint ::= [matchingStructure]::core/AGGREGATEType [requiredStructure]::algorithms/ActualStructure [label]::core/Identifier
ActualLISTType ::= ε
VARParameter ::= ε
ActualDataType ::= ε
ActualBAGType ::= ε
AttributeValue ::= [actualValue]::core/Instance [attribute]::core/ExplicitAttribute
ARRAYValue ::=
[memberSlot]::instances/ArrayMemberRoleName ::= [refersTo]::core/Attribute [represents]::core/ScopedId
EntityInstance ::=
[state]::instances/EntityValue [instanceOf]::core/EntityType [id]::instances/EntityNameIntegerValue ::= ε
Constant ::= [valueExpression]::core/Expression [actualValue]::core/Instance [dataType]::core/InstantiableType
LogicalValue ::= ε
ListMember ::= [memberValue]::core/Instance [position]::mof/Integer
BagMember ::= [memberValue]::core/Instance [count]::mof/Integer
SingleEntityValue ::=
[equivalent]::instances/PartialEntityValue [ofType]::core/SingleEntityType [properties]::instances/AttributeValueIndeterminate ::= ε
SingleLeafInstance ::= [characterizingType]::core/EntityType
GenericAggregate ::= ε
BinaryValue ::= ε
SpecializedValue ::= [fundamentalValue]::instances/ConcreteValue
BAGValue ::=
[memberSlot]::instances/BagMemberEnumerationItem ::= [declaredIn]::core/EnumerationType [position]::mof/Integer
EntityValue ::= [correspondsTo]::core/EntityType [describes]::instances/EntityInstance
SETValue ::=
[memberValue]::core/InstanceArrayMember ::= [memberValue]::core/Instance [index]::mof/Integer
Population ::= [compositionEntityInstance]::instances/EntityInstance [compositionInstance]::core/Instance [governingSchema]::core/Schema
RealValue ::= ε
BooleanValue ::= ε
LISTValue ::=
[memberSlot]::instances/ListMemberStringValue ::= ε
TypeName ::= [refersTo]::core/NamedType [represents]::core/ScopedId
PartialEntityValue ::=
[components]::instances/SingleEntityValueNumberValue ::= ε
MultiLeafInstance ::= ε