Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
3 lines (2 sloc) 28.2 KB
<?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>LocatedElement</nonterminal><bgf:expression><nonterminal>ACG</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>ACGElement</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>StatementBlock</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>Statement</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>VariableDecl</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>ACG</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>metamodel</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>startsWith</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>elements</selector><bgf:expression><nonterminal>ACGElement</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ACGElement</nonterminal><bgf:expression><nonterminal>Function</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>ACGElement</nonterminal><bgf:expression><nonterminal>Attribute</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>ACGElement</nonterminal><bgf:expression><nonterminal>Node</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Function</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>context</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>parameters</selector><bgf:expression><nonterminal>Parameter</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>body</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Attribute</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>context</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>body</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Parameter</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Node</nonterminal><bgf:expression><nonterminal>ASMNode</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Node</nonterminal><bgf:expression><nonterminal>CodeNode</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Node</nonterminal><bgf:expression><nonterminal>SimpleNode</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>ASMNode</nonterminal><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>CodeNode</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>element</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>mode</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>guard</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>SimpleNode</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>element</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>mode</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>guard</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>StatementBlock</nonterminal><bgf:expression><nonterminal>Node</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>StatementBlock</nonterminal><bgf:expression><nonterminal>CompoundStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Statement</nonterminal><bgf:expression><nonterminal>ReportStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Statement</nonterminal><bgf:expression><nonterminal>FieldStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Statement</nonterminal><bgf:expression><nonterminal>ParamStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Statement</nonterminal><bgf:expression><nonterminal>EmitStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Statement</nonterminal><bgf:expression><nonterminal>CompoundStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>CompoundStat</nonterminal><bgf:expression><nonterminal>ForEachStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>CompoundStat</nonterminal><bgf:expression><nonterminal>OnceStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>CompoundStat</nonterminal><bgf:expression><nonterminal>VariableStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>CompoundStat</nonterminal><bgf:expression><nonterminal>OperationStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>CompoundStat</nonterminal><bgf:expression><nonterminal>ConditionalStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>CompoundStat</nonterminal><bgf:expression><nonterminal>LetStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>CompoundStat</nonterminal><bgf:expression><nonterminal>AnalyzeStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>ForEachStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>iterator</selector><bgf:expression><nonterminal>VariableDecl</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>collection</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>OnceStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>VariableStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>definition</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>OperationStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>context</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ConditionalStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>condition</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>elseStatements</selector><bgf:expression><nonterminal>Statement</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>LetStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>variable</selector><bgf:expression><nonterminal>VariableDecl</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>value</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>AnalyzeStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>target</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>mode</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ReportStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>severity</selector><bgf:expression><nonterminal>Severity</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>message</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Severity</nonterminal><bgf:expression><choice><bgf:expression><selectable><selector>critic</selector><bgf:expression><epsilon/></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>error</selector><bgf:expression><epsilon/></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>warning</selector><bgf:expression><epsilon/></bgf:expression></selectable></bgf:expression></choice></bgf:expression></bgf:production><bgf:production><nonterminal>FieldStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>type</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ParamStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>type</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>LabelStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>NewStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>DupStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>DupX1Stat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>PopStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>SwapStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>IterateStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>EndIterateStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>GetAsmStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>FindMEStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>PushTStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>PushFStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>EmitWithOperandStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitStat</nonterminal><bgf:expression><nonterminal>EmitWithLabelRefStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LabelStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>id</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>NewStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>DupStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>DupX1Stat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>PopStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>SwapStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>IterateStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>EndIterateStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>GetAsmStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>FindMEStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>PushTStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>PushFStat</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>PushStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>PushIStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>PushDStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>LoadStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>StoreStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>CallStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>PCallStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>SuperCallStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>GetStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithOperandStat</nonterminal><bgf:expression><nonterminal>SetStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>PushStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>PushIStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>PushDStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>LoadStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>StoreStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>CallStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>PCallStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>SuperCallStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>GetStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>SetStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>operand</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithLabelRefStat</nonterminal><bgf:expression><nonterminal>IfStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EmitWithLabelRefStat</nonterminal><bgf:expression><nonterminal>GotoStat</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>IfStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>label</selector><bgf:expression><nonterminal>LabelStat</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>GotoStat</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>label</selector><bgf:expression><nonterminal>LabelStat</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>VariableDecl</nonterminal><bgf:expression><nonterminal>Parameter</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>VariableDecl</nonterminal><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>VariableExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>SelfExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>LastExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>IfExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>IsAExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>LetExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>PropertyCallExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Expression</nonterminal><bgf:expression><nonterminal>LiteralExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>VariableExp</nonterminal><bgf:expression><selectable><selector>variable</selector><bgf:expression><nonterminal>VariableDecl</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>SelfExp</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>LastExp</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>IfExp</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>condition</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>thenExp</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>elseExp</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>IsAExp</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>source</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>type</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>LetExp</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>variable</selector><bgf:expression><nonterminal>VariableDecl</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>value</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>in</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>PropertyCallExp</nonterminal><bgf:expression><nonterminal>NavigationExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>PropertyCallExp</nonterminal><bgf:expression><nonterminal>IteratorExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>PropertyCallExp</nonterminal><bgf:expression><nonterminal>OperationCallExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>NavigationExp</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>source</selector><bgf:expression><nonterminal>Expression</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>IteratorExp</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>iterator</selector><bgf:expression><nonterminal>VariableDecl</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>body</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>OperationCallExp</nonterminal><bgf:expression><nonterminal>OperatorCallExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>OperationCallExp</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>arguments</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>OperatorCallExp</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>arguments</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>LiteralExp</nonterminal><bgf:expression><nonterminal>OclUndefinedExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LiteralExp</nonterminal><bgf:expression><nonterminal>CollectionExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LiteralExp</nonterminal><bgf:expression><nonterminal>BooleanExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LiteralExp</nonterminal><bgf:expression><nonterminal>IntegerExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LiteralExp</nonterminal><bgf:expression><nonterminal>StringExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>OclUndefinedExp</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>CollectionExp</nonterminal><bgf:expression><nonterminal>SequenceExp</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>SequenceExp</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>elements</selector><bgf:expression><nonterminal>Expression</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>BooleanExp</nonterminal><bgf:expression><selectable><selector>value</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>IntegerExp</nonterminal><bgf:expression><selectable><selector>value</selector><bgf:expression><nonterminal>Integer</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>StringExp</nonterminal><bgf:expression><selectable><selector>value</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></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: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:grammar>