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
Element
, NamedElement
, ExtendedIdentifier
, Extended
, Definition
, RuleSet
, ImportDefinition
, IteratorExp
, LoopExpression
, OperatorCallExpression
, OperationCallExpression
, Iterator
, IntegerExpression
, RealExpression
, BooleanExpression
, NavigationOrAttributeCallExpression
, VariableExpression
, StringExpression
, StringType
, IntegerType
, RealType
, BooleanType
, ClassType
, PropertyDefinition
, ClassInstancesDeclaration
, PropertyDeclaration
, VariableDeclaration
, RuleDefinition
, Binding
, CollectionOperationRuleVariable
, SimpleRuleVariable
, RuleCondition
, RuleAction
, DeleteAction
, CreateAction
, ModifyAction
, UpdateAction
, InvokeAction
, Integer
, String
, Boolean
), 0 root (—), 27 top (Element
, IteratorExp
, LoopExpression
, OperatorCallExpression
, OperationCallExpression
, Iterator
, IntegerExpression
, RealExpression
, BooleanExpression
, NavigationOrAttributeCallExpression
, VariableExpression
, StringExpression
, StringType
, IntegerType
, RealType
, BooleanType
, ClassType
, PropertyDeclaration
, VariableDeclaration
, RuleDefinition
, CollectionOperationRuleVariable
, SimpleRuleVariable
, DeleteAction
, CreateAction
, ModifyAction
, UpdateAction
, InvokeAction
), 18 bottom (RuleSetDeclaration
, IRLRules/RuleVariable
, IRLExpressions/LoopExpression
, Double
, IRLExpressions/VariableExpression
, IRLDeclarations/VariableDeclaration
, IRLRules/RuleDefinition
3, IRLRules/Binding
, Typed
, IRLExpressions/Iterator
, IRLRules/RulesetElementDefinition
, IRLRules/RuleCondition
, IRLDeclarations/PropertyDefinition
, Type
, IRLExpressions/Expression
10, IRLRules/RuleAction
, RulesetElementDefinition
, IRLDeclarations/RuleSetDeclaration
).[location]
, [commentsBefore]
, [commentsAfter]
, [parentIdentifier]
, [extendedIdentifierOwner]
, [importDefinitions]
, [propertyDefinitions]
, [rulesetElementDefinitions]
, [importDefinitionOwners]
, [dotStar]
, [name]
3, [body]
, [iterators]
, [arguments]
, [operationName]
2, [signature]
, [loopExpression]
, [integerSymbol]
, [realSymbol]
, [booleanSymbol]
, [referredVariable]
, [stringSymbol]
, [propertyDefinitionOwner]
, [ruleSetDeclarations]
, [semicoloneOpt]
, [extendedIdentifier]
, [varName]
, [variableExp]
, [binding]
, [condition]
, [actions]
, [bindingOwner]
, [ruleVariable]
, [collectWhere]
, [conditionExpression]
, [ruleDefinitionCondition]
, [actionOwner]
, [objValue]
3, [insertArguments]
, [modifiedArguments]
, [invocation]
.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]::StringIterator ::= [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]::BooleanClassInstancesDeclaration ::= [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"