/
grammar.bgf
2 lines (2 loc) · 14.6 KB
/
grammar.bgf
1
2
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"><bgf:production><nonterminal>Element</nonterminal><bgf:expression><nonterminal>NamedElement</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Element</nonterminal><bgf:expression><nonterminal>Extended</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Element</nonterminal><bgf:expression><nonterminal>Typed</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Element</nonterminal><bgf:expression><nonterminal>RuleSetDeclaration</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Element</nonterminal><bgf:expression><nonterminal>Binding</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Element</nonterminal><bgf:expression><nonterminal>RuleCondition</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Element</nonterminal><bgf:expression><nonterminal>RuleAction</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Element</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>location</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>commentsBefore</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>commentsAfter</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>NamedElement</nonterminal><bgf:expression><nonterminal>ExtendedIdentifier</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>NamedElement</nonterminal><bgf:expression><nonterminal>RuleSet</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>NamedElement</nonterminal><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>NamedElement</nonterminal><bgf:expression><nonterminal>RulesetElementDefinition</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>ExtendedIdentifier</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>parentIdentifier</selector><bgf:expression><nonterminal>ExtendedIdentifier</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>extendedIdentifierOwner</selector><bgf:expression><nonterminal>Extended</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Extended</nonterminal><bgf:expression><nonterminal>Definition</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Extended</nonterminal><bgf:expression><nonterminal>ClassInstancesDeclaration</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Definition</nonterminal><bgf:expression><nonterminal>ImportDefinition</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Definition</nonterminal><bgf:expression><nonterminal>PropertyDefinition</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>RuleSet</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>importDefinitions</selector><bgf:expression><nonterminal>ImportDefinition</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>propertyDefinitions</selector><bgf:expression><nonterminal>IRLDeclarations/PropertyDefinition</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>rulesetElementDefinitions</selector><bgf:expression><nonterminal>IRLRules/RulesetElementDefinition</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ImportDefinition</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>importDefinitionOwners</selector><bgf:expression><nonterminal>RuleSet</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>dotStar</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>IteratorExp</nonterminal><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>LoopExpression</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>body</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>iterators</selector><bgf:expression><nonterminal>IRLExpressions/Iterator</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>OperatorCallExpression</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>OperationCallExpression</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>arguments</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>operationName</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>signature</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Iterator</nonterminal><bgf:expression><selectable><selector>loopExpression</selector><bgf:expression><nonterminal>IRLExpressions/LoopExpression</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>IntegerExpression</nonterminal><bgf:expression><selectable><selector>integerSymbol</selector><bgf:expression><nonterminal>Integer</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>RealExpression</nonterminal><bgf:expression><selectable><selector>realSymbol</selector><bgf:expression><nonterminal>Double</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>BooleanExpression</nonterminal><bgf:expression><selectable><selector>booleanSymbol</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>NavigationOrAttributeCallExpression</nonterminal><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>VariableExpression</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>referredVariable</selector><bgf:expression><nonterminal>IRLDeclarations/VariableDeclaration</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>StringExpression</nonterminal><bgf:expression><selectable><selector>stringSymbol</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>StringType</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>IntegerType</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>RealType</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>BooleanType</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>ClassType</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>PropertyDefinition</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>propertyDefinitionOwner</selector><bgf:expression><nonterminal>RuleSet</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>ruleSetDeclarations</selector><bgf:expression><nonterminal>IRLDeclarations/RuleSetDeclaration</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>semicoloneOpt</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ClassInstancesDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>extendedIdentifier</selector><bgf:expression><nonterminal>ExtendedIdentifier</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>PropertyDeclaration</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>VariableDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>varName</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>variableExp</selector><bgf:expression><nonterminal>IRLExpressions/VariableExpression</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>RuleDefinition</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>binding</selector><bgf:expression><nonterminal>IRLRules/Binding</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>condition</selector><bgf:expression><nonterminal>IRLRules/RuleCondition</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>actions</selector><bgf:expression><nonterminal>IRLRules/RuleAction</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Binding</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>bindingOwner</selector><bgf:expression><nonterminal>IRLRules/RuleDefinition</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>ruleVariable</selector><bgf:expression><nonterminal>IRLRules/RuleVariable</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>CollectionOperationRuleVariable</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operationName</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>collectWhere</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>SimpleRuleVariable</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>RuleCondition</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>conditionExpression</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>ruleDefinitionCondition</selector><bgf:expression><nonterminal>IRLRules/RuleDefinition</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>RuleAction</nonterminal><bgf:expression><selectable><selector>actionOwner</selector><bgf:expression><nonterminal>IRLRules/RuleDefinition</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>DeleteAction</nonterminal><bgf:expression><selectable><selector>objValue</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>CreateAction</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>insertArguments</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>ModifyAction</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>objValue</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>modifiedArguments</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>UpdateAction</nonterminal><bgf:expression><selectable><selector>objValue</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>InvokeAction</nonterminal><bgf:expression><selectable><selector>invocation</selector><bgf:expression><nonterminal>IRLExpressions/Expression</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>Integer</nonterminal><bgf:expression><value>int</value></bgf:expression></bgf:production><bgf:production><nonterminal>String</nonterminal><bgf:expression><value>string</value></bgf:expression></bgf:production><bgf:production><nonterminal>Boolean</nonterminal><bgf:expression><choice><bgf:expression><terminal>true</terminal></bgf:expression><bgf:expression><terminal>false</terminal></bgf:expression></choice></bgf:expression></bgf:production></bgf:grammar>