Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/ocl/expressions/extracted
Source used for this grammar: Julien Baudry, OCL_Expressions.ecore
, 2006/07/10
OclExpression
, SelfExp
, ResultExp
, VariableExp
, VariableDeclaration
, VariableInitialisation
, ForAllExp
, ExistsExp
, SelectExp
, RejectExp
, CollectExp
, IterateExp
, Boolean
, Integer
, String
), 0 root (—), 7 top (ForAllExp
, ExistsExp
, SelectExp
, RejectExp
, CollectExp
, Boolean
, Integer
), 3 bottom (Type
3, OperationExp
, QueryExp
6).[queryArg]
2, [querySrc]
2, [resultType]
2, [varDec]
3, [varInit]
4, [var]
2, [varType]
, [oclExpression]
, [queryExp]
, [initExpression]
, [iterateExp]
.OclExpression ::= SelfExp
OclExpression ::= ResultExp
OclExpression ::= VariableExp
OclExpression ::= OperationExp
OclExpression ::= QueryExp
SelfExp ::= [queryArg]::QueryExp[querySrc]::QueryExp [resultType]::Type [varDec]::VariableDeclaration [varInit]::VariableInitialisation
ResultExp ::= [queryArg]::QueryExp[querySrc]::QueryExp [resultType]::Type [varDec]::VariableDeclaration [varInit]::VariableInitialisation
VariableExp ::= [var]::String
VariableDeclaration ::= [var]::String [varType]::Type [oclExpression]::OclExpression[queryExp]::QueryExp [varInit]::VariableInitialisation
VariableInitialisation ::= [initExpression]::OclExpression [varDec]::VariableDeclaration [iterateExp]::IterateExp
ForAllExp ::= ε
ExistsExp ::= ε
SelectExp ::= ε
RejectExp ::= ε
CollectExp ::= ε
IterateExp ::= [varInit]::VariableInitialisation
Boolean ::= "true" "false"
Integer ::= integer
String ::= string