Browsable IRL 0.1 Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: markup/scientific/irl/abouzahra/extracted
Source used for this grammar: Anas Abouzahra, IRL 0.1, IRL.ecore, 2006/06/22

Summary

Syntax

Element ::=
	NamedElement
Element ::=
	Extended
Element ::=
	Typed
Element ::=
	RuleSetDeclaration
Element ::=
	Binding
Element ::=
	RuleCondition
Element ::=
	RuleAction
Element ::=
	[location]::String [commentsBefore]::String+ [commentsAfter]::String+
NamedElement ::=
	ExtendedIdentifier
NamedElement ::=
	RuleSet
NamedElement ::=
	Type
NamedElement ::=
	RulesetElementDefinition
ExtendedIdentifier ::=
	[parentIdentifier]::ExtendedIdentifier [extendedIdentifierOwner]::Extended
Extended ::=
	Definition
Extended ::=
	ClassInstancesDeclaration
Definition ::=
	ImportDefinition
Definition ::=
	PropertyDefinition
RuleSet ::=
	[importDefinitions]::ImportDefinition+ [propertyDefinitions]::IRLDeclarations/PropertyDefinition [rulesetElementDefinitions]::IRLRules/RulesetElementDefinition+
ImportDefinition ::=
	[importDefinitionOwners]::RuleSet [dotStar]::Boolean
IteratorExp ::=
	[name]::String
LoopExpression ::=
	[body]::IRLExpressions/Expression [iterators]::IRLExpressions/Iterator+
OperatorCallExpression ::=
	ε
OperationCallExpression ::=
	[arguments]::IRLExpressions/Expression+ [operationName]::String [signature]::String
Iterator ::=
	[loopExpression]::IRLExpressions/LoopExpression
IntegerExpression ::=
	[integerSymbol]::Integer
RealExpression ::=
	[realSymbol]::Double
BooleanExpression ::=
	[booleanSymbol]::Boolean
NavigationOrAttributeCallExpression ::=
	[name]::String
VariableExpression ::=
	[referredVariable]::IRLDeclarations/VariableDeclaration [name]::String
StringExpression ::=
	[stringSymbol]::String
StringType ::=
	ε
IntegerType ::=
	ε
RealType ::=
	ε
BooleanType ::=
	ε
ClassType ::=
	ε
PropertyDefinition ::=
	[propertyDefinitionOwner]::RuleSet [ruleSetDeclarations]::IRLDeclarations/RuleSetDeclaration+ [semicoloneOpt]::Boolean
ClassInstancesDeclaration ::=
	[extendedIdentifier]::ExtendedIdentifier
PropertyDeclaration ::=
	ε
VariableDeclaration ::=
	[varName]::String [variableExp]::IRLExpressions/VariableExpression+
RuleDefinition ::=
	[binding]::IRLRules/Binding [condition]::IRLRules/RuleCondition [actions]::IRLRules/RuleAction+
Binding ::=
	[bindingOwner]::IRLRules/RuleDefinition [ruleVariable]::IRLRules/RuleVariable+
CollectionOperationRuleVariable ::=
	[operationName]::String [collectWhere]::IRLExpressions/Expression
SimpleRuleVariable ::=
	ε
RuleCondition ::=
	[conditionExpression]::IRLExpressions/Expression [ruleDefinitionCondition]::IRLRules/RuleDefinition
RuleAction ::=
	[actionOwner]::IRLRules/RuleDefinition
DeleteAction ::=
	[objValue]::IRLExpressions/Expression
CreateAction ::=
	[insertArguments]::IRLExpressions/Expression+
ModifyAction ::=
	[objValue]::IRLExpressions/Expression [modifiedArguments]::IRLExpressions/Expression+
UpdateAction ::=
	[objValue]::IRLExpressions/Expression
InvokeAction ::=
	[invocation]::IRLExpressions/Expression
Integer ::=
	integer
String ::=
	string
Boolean ::=
	"true"
	"false"

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