
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/IteratorOperatorCallExpression ::= ε
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/VariableExpressionRuleDefinition ::=
[binding]::IRLRules/Binding [condition]::IRLRules/RuleCondition [actions]::IRLRules/RuleActionBinding ::=
[bindingOwner]::IRLRules/RuleDefinition [ruleVariable]::IRLRules/RuleVariableCollectionOperationRuleVariable ::= [operationName]::String [collectWhere]::IRLExpressions/Expression
SimpleRuleVariable ::= ε
RuleCondition ::= [conditionExpression]::IRLExpressions/Expression [ruleDefinitionCondition]::IRLRules/RuleDefinition
RuleAction ::= [actionOwner]::IRLRules/RuleDefinition
DeleteAction ::= [objValue]::IRLExpressions/Expression
CreateAction ::=
[insertArguments]::IRLExpressions/ExpressionModifyAction ::=
[objValue]::IRLExpressions/Expression [modifiedArguments]::IRLExpressions/ExpressionUpdateAction ::= [objValue]::IRLExpressions/Expression
InvokeAction ::= [invocation]::IRLExpressions/Expression
Integer ::= integer
String ::= string
Boolean ::= "true" "false"