
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/PRR/extracted
Source used for this grammar: Anas Abouzahra, PRR (Production Rule Representation) 0.1, PRR.ecore, 2006/06/22
Element, NamedElement, RuleSet, Rule, RuleAction, RuleCondition, Binding, RuleVariable, DeleteAction, CreateAction, AssignAction, InvokeAction, IteratorExp, LoopExp, OperatorCallExp, OperationCallExp, CollectionOperationCallExp, StringExp, BooleanExp, IntegerExp, RealExp, NavigationOrAttributeCallExp, Iterator, VariableDeclaration, VariableExp, TypeExp, AllInstanceExp, OclType, StringType, RealType, BooleanType, IntegerType, Integer, String, Boolean), 0 root (—), 19 top (Element, IteratorExp, LoopExp, OperatorCallExp, OperationCallExp, CollectionOperationCallExp, StringExp, BooleanExp, IntegerExp, RealExp, NavigationOrAttributeCallExp, Iterator, VariableExp, TypeExp, AllInstanceExp, StringType, RealType, BooleanType, IntegerType), 10 bottom (PRRExpressions/TypeExp, PRRExpressions/Iterator, Double, PRRExpressions/OclExpression 10, PRRTypes/OclType 3, PRRExpressions/VariableExp, PRRExpressions/VariableDeclaration 2, PRRExpressions/LoopExp, OclExpression, PRRExpressions/AllInstanceExp).[location], [commentsBefore], [commentsAfter], [rules], [binding], [condition], [actions], [ruleOwner], [actionOwner], [ruleConditionOwner], [conditionExp], [bindingOwner], [ruleVariable], [ruleVariableOwner], [filter], [objValue] 2, [insertArguments], [aValue], [invocation], [name] 2, [body], [iterators], [arguments], [operationName], [signature], [stringSymbol], [booleanSymbol], [integerSymbol], [realSymbol], [loopExpr], [type], [varName], [variableExp], [referredVariable], [referredType], [sourceType], [variableDeclaration], [oclExpression], [appliedAllInstance], [typeExp].Element ::= NamedElement
Element ::= RuleSet
Element ::= RuleAction
Element ::= RuleCondition
Element ::= Binding
Element ::= OclExpression
Element ::= VariableDeclaration
Element ::= [location]::String [commentsBefore]::String [commentsAfter]::String
NamedElement ::= Rule
NamedElement ::= OclType
RuleSet ::=
[rules]::RuleRule ::=
[binding]::Binding [condition]::RuleCondition [actions]::RuleAction [ruleOwner]::RuleSetRuleAction ::= DeleteAction
RuleAction ::= AssignAction
RuleAction ::= InvokeAction
RuleAction ::= CreateAction
RuleAction ::= [actionOwner]::Rule
RuleCondition ::= [ruleConditionOwner]::Rule [conditionExp]::PRRExpressions/OclExpression
Binding ::=
[bindingOwner]::Rule [ruleVariable]::RuleVariableRuleVariable ::= [ruleVariableOwner]::Binding [filter]::PRRExpressions/OclExpression
DeleteAction ::= [objValue]::PRRExpressions/OclExpression
CreateAction ::=
[insertArguments]::PRRExpressions/OclExpressionAssignAction ::= [objValue]::PRRExpressions/OclExpression [aValue]::PRRExpressions/OclExpression
InvokeAction ::= [invocation]::PRRExpressions/OclExpression
IteratorExp ::= [name]::String
LoopExp ::=
[body]::PRRExpressions/OclExpression [iterators]::PRRExpressions/IteratorOperatorCallExp ::= ε
OperationCallExp ::=
[arguments]::PRRExpressions/OclExpression [operationName]::String [signature]::StringCollectionOperationCallExp ::= ε
StringExp ::= [stringSymbol]::String
BooleanExp ::= [booleanSymbol]::Boolean
IntegerExp ::= [integerSymbol]::Integer
RealExp ::= [realSymbol]::Double
NavigationOrAttributeCallExp ::= [name]::String
Iterator ::= [loopExpr]::PRRExpressions/LoopExp
VariableDeclaration ::=
[type]::PRRTypes/OclType [varName]::String [variableExp]::PRRExpressions/VariableExpVariableExp ::= [referredVariable]::PRRExpressions/VariableDeclaration
TypeExp ::= [referredType]::PRRTypes/OclType
AllInstanceExp ::= [sourceType]::PRRTypes/OclType
OclType ::= [variableDeclaration]::PRRExpressions/VariableDeclaration [oclExpression]::PRRExpressions/OclExpression [appliedAllInstance]::PRRExpressions/AllInstanceExp [typeExp]::PRRExpressions/TypeExp
StringType ::= ε
RealType ::= ε
BooleanType ::= ε
IntegerType ::= ε
Integer ::= integer
String ::= string
Boolean ::= "true" "false"