Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
3 lines (2 sloc) 31.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>Body</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>AsmLFile</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>AsmLElement</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>VarOrCase</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>VarOrMethod</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>Enumerator</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>Parameter</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>Initially</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>Rule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>LocatedElement</nonterminal><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Body</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>rules</selector><bgf:expression><nonterminal>Rule</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>InWhereHolds</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>var</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>in</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>where</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>holds</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLFile</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>elements</selector><bgf:expression><nonterminal>AsmLElement</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>main</selector><bgf:expression><nonterminal>Main</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLElement</nonterminal><bgf:expression><nonterminal>Namespace</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLElement</nonterminal><bgf:expression><nonterminal>Structure</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLElement</nonterminal><bgf:expression><nonterminal>Class</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLElement</nonterminal><bgf:expression><nonterminal>Enumeration</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLElement</nonterminal><bgf:expression><nonterminal>Function</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLElement</nonterminal><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>AsmLElement</nonterminal><bgf:expression><nonterminal>VarDeclaration</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>VarDeclaration</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>isConstant</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>isDeclaration</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>isLocal</selector><bgf:expression><nonterminal>Boolean</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>type</selector><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Namespace</nonterminal><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>Structure</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>varOrCase</selector><bgf:expression><nonterminal>VarOrCase</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>superStructureName</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>VarOrCase</nonterminal><bgf:expression><nonterminal>Case</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Case</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>variables</selector><bgf:expression><nonterminal>VarDeclaration</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Class</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>isAbstract</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>superClassName</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>varOrMethod</selector><bgf:expression><nonterminal>VarOrMethod</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>VarOrMethod</nonterminal><bgf:expression><nonterminal>Method</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>VarOrMethod</nonterminal><bgf:expression><selectable><selector>ownerClass</selector><bgf:expression><nonterminal>Class</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>Enumeration</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>enumerators</selector><bgf:expression><nonterminal>Enumerator</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Enumerator</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>value</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Function</nonterminal><bgf:expression><nonterminal>Main</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Function</nonterminal><bgf:expression><nonterminal>Method</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Method</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>isAbstract</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>isShared</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>isEntryPoint</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>isOverride</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>returnType</selector><bgf:expression><nonterminal>Type</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></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><bgf:expression><selectable><selector>type</selector><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>ownerMethod</selector><bgf:expression><nonterminal>Method</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Main</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>mainFile</selector><bgf:expression><nonterminal>AsmLFile</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>initialisations</selector><bgf:expression><nonterminal>Initially</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Initially</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>id</selector><bgf:expression><nonterminal>VarTerm</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>val</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>SkipRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>Step</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>MethodInvocation</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>UpdateRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>ChooseRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>ForallRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>ConditionalRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>ReturnRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>AddRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Rule</nonterminal><bgf:expression><nonterminal>RemoveRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>SkipRule</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>ownerBody</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Step</nonterminal><bgf:expression><nonterminal>StepUntilFixPoint</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Step</nonterminal><bgf:expression><nonterminal>StepExpression</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Step</nonterminal><bgf:expression><nonterminal>StepForEach</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>StepUntilFixPoint</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>StepExpression</nonterminal><bgf:expression><nonterminal>StepWhile</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>StepExpression</nonterminal><bgf:expression><nonterminal>StepUntil</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>StepWhile</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>expression</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>StepUntil</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>expression</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>StepForEach</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>expressions</selector><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>MethodInvocation</nonterminal><bgf:expression><selectable><selector>called</selector><bgf:expression><nonterminal>MethodCallTerm</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>UpdateRule</nonterminal><bgf:expression><nonterminal>UpdateVarRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>UpdateRule</nonterminal><bgf:expression><nonterminal>UpdateFieldRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>UpdateRule</nonterminal><bgf:expression><nonterminal>UpdateMapRule</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>UpdateVarRule</nonterminal><bgf:expression><selectable><selector>updateVar</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>UpdateFieldRule</nonterminal><bgf:expression><selectable><selector>path</selector><bgf:expression><nonterminal>VarTerm</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>UpdateMapRule</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>updateMap</selector><bgf:expression><nonterminal>VarTerm</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><plus><bgf:expression><selectable><selector>parameters</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ChooseRule</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>expressions</selector><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>ifChoosenRules</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>ifNotChoosenRule</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ForallRule</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>expressions</selector><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression><bgf:expression><selectable><selector>doRule</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ConditionalRule</nonterminal><bgf:expression><nonterminal>ElseIf</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>ConditionalRule</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>condition</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>thenRule</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>elseRule</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>elseIfRule</selector><bgf:expression><nonterminal>ElseIf</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ElseIf</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>condition</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>thenRule</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>elseRule</selector><bgf:expression><nonterminal>Body</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>elseIfRule</selector><bgf:expression><nonterminal>ElseIf</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ReturnRule</nonterminal><bgf:expression><selectable><selector>term</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>AddRule</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>val</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>set</selector><bgf:expression><nonterminal>VarTerm</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>RemoveRule</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>val</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>set</selector><bgf:expression><nonterminal>VarTerm</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Type</nonterminal><bgf:expression><nonterminal>NamedType</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Type</nonterminal><bgf:expression><nonterminal>MapType</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Type</nonterminal><bgf:expression><nonterminal>TupletType</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Type</nonterminal><bgf:expression><nonterminal>SetType</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Type</nonterminal><bgf:expression><nonterminal>SequenceType</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>NamedType</nonterminal><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>MapType</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>ofType</selector><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>toType</selector><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>TupletType</nonterminal><bgf:expression><selectable><selector>types</selector><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>SetType</nonterminal><bgf:expression><selectable><selector>of</selector><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>SequenceType</nonterminal><bgf:expression><selectable><selector>of</selector><bgf:expression><nonterminal>Type</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>VarTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>Operator</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>MapTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>TulpletTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>MethodCallTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>PredicateTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>SetTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>SequenceTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Term</nonterminal><bgf:expression><nonterminal>Constant</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>VarTerm</nonterminal><bgf:expression><selectable><selector>name</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>Operator</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>opName</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>leftExp</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>rightExp</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>MapTerm</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>ofTerm</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>toTerm</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>separator</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>TulpletTerm</nonterminal><bgf:expression><selectable><selector>terms</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>MethodCallTerm</nonterminal><bgf:expression><nonterminal>NewInstance</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>MethodCallTerm</nonterminal><bgf:expression><sequence><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>Term</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>NewInstance</nonterminal><bgf:expression><sequence><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>Term</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>PredicateTerm</nonterminal><bgf:expression><nonterminal>ForAllTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>PredicateTerm</nonterminal><bgf:expression><nonterminal>ExistsTerm</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>PredicateTerm</nonterminal><bgf:expression><nonterminal>AnyIn</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>PredicateTerm</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>expressions</selector><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>ForAllTerm</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>expressions</selector><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>ExistsTerm</nonterminal><bgf:expression><selectable><selector>isUnique</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>AnyIn</nonterminal><bgf:expression><sequence><bgf:expression><plus><bgf:expression><selectable><selector>expressions</selector><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>SetTerm</nonterminal><bgf:expression><nonterminal>EnumerateSet</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>SetTerm</nonterminal><bgf:expression><nonterminal>RangeSet</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>SetTerm</nonterminal><bgf:expression><nonterminal>AlgorithmSet</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EnumerateSet</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>vals</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>RangeSet</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>minval</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>maxval</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>AlgorithmSet</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>expressions</selector><bgf:expression><nonterminal>InWhereHolds</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>SequenceTerm</nonterminal><bgf:expression><nonterminal>EnumerateSequence</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>SequenceTerm</nonterminal><bgf:expression><nonterminal>RangeSequence</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>EnumerateSequence</nonterminal><bgf:expression><plus><bgf:expression><selectable><selector>vals</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></plus></bgf:expression></bgf:production><bgf:production><nonterminal>RangeSequence</nonterminal><bgf:expression><sequence><bgf:expression><selectable><selector>minval</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression><bgf:expression><selectable><selector>maxval</selector><bgf:expression><nonterminal>Term</nonterminal></bgf:expression></selectable></bgf:expression></sequence></bgf:expression></bgf:production><bgf:production><nonterminal>Constant</nonterminal><bgf:expression><nonterminal>BooleanConstant</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Constant</nonterminal><bgf:expression><nonterminal>IntegerConstant</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Constant</nonterminal><bgf:expression><nonterminal>StringConstant</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>Constant</nonterminal><bgf:expression><nonterminal>NullConstant</nonterminal></bgf:expression></bgf:production><bgf:production><nonterminal>BooleanConstant</nonterminal><bgf:expression><selectable><selector>val</selector><bgf:expression><nonterminal>Boolean</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>IntegerConstant</nonterminal><bgf:expression><selectable><selector>val</selector><bgf:expression><nonterminal>Integer</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>StringConstant</nonterminal><bgf:expression><selectable><selector>val</selector><bgf:expression><nonterminal>String</nonterminal></bgf:expression></selectable></bgf:expression></bgf:production><bgf:production><nonterminal>NullConstant</nonterminal><bgf:expression><epsilon/></bgf:expression></bgf:production><bgf:production><nonterminal>String</nonterminal><bgf:expression><value>string</value></bgf:expression></bgf:production><bgf:production><nonterminal>Integer</nonterminal><bgf:expression><value>int</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>