Browsable OCL Expressions Grammar

CC-BY

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

Summary

Syntax

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

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []