Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
1017 lines (1016 sloc) 24.3 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>String</nonterminal>
<xns1:expression>
<value>string</value>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Integer</nonterminal>
<xns1:expression>
<value>int</value>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Boolean</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>true</terminal>
</xns1:expression>
<xns1:expression>
<terminal>false</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>XAsmFile</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Asm</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Signature</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>MetaInformation</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>AccessUpdateFunction</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Declaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Parameter</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Initialization</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>ElseIf</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>ElementDecl</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocatedElement</nonterminal>
<xns1:expression>
<nonterminal>Extension</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>XAsmFile</nonterminal>
<xns1:expression>
<nonterminal>XAsmSpec</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>XAsmFile</nonterminal>
<xns1:expression>
<nonterminal>Body</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>XAsmSpec</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>Asm</selector>
<xns1:expression>
<nonterminal>Asm</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Asm</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>signature</selector>
<xns1:expression>
<nonterminal>Signature</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>returnType</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>metaInformation</selector>
<xns1:expression>
<nonterminal>MetaInformation</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>body</selector>
<xns1:expression>
<nonterminal>Body</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Signature</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>isMain</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>name</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>arguments</selector>
<xns1:expression>
<nonterminal>Argument</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Argument</nonterminal>
<xns1:expression>
<selectable>
<selector>type</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Body</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>declarations</selector>
<xns1:expression>
<nonterminal>Declaration</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>initialization</selector>
<xns1:expression>
<nonterminal>Initialization</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>rules</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>MetaInformation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>usedAsIn</selector>
<xns1:expression>
<nonterminal>Signature</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>usedAs</selector>
<xns1:expression>
<nonterminal>AsmType</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>accessUpdateFunctions</selector>
<xns1:expression>
<nonterminal>AccessUpdateFunction</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AccessUpdateFunction</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>type</selector>
<xns1:expression>
<nonterminal>AccessUpdateType</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>functions</selector>
<xns1:expression>
<nonterminal>Function</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Declaration</nonterminal>
<xns1:expression>
<nonterminal>Universe</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Declaration</nonterminal>
<xns1:expression>
<nonterminal>Function</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Function</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>parameters</selector>
<xns1:expression>
<nonterminal>Parameter</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>returnType</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>initTerm</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isExternal</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Parameter</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>name</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>type</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Universe</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>name</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>contents</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>superUniverses</selector>
<xns1:expression>
<nonterminal>Universe</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Initialization</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>rules</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Term</nonterminal>
<xns1:expression>
<nonterminal>Constant</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Term</nonterminal>
<xns1:expression>
<nonterminal>FunctionOrVariableTerm</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Term</nonterminal>
<xns1:expression>
<nonterminal>OperatorTerm</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Constant</nonterminal>
<xns1:expression>
<nonterminal>BooleanConstant</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Constant</nonterminal>
<xns1:expression>
<nonterminal>IntegerConstant</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Constant</nonterminal>
<xns1:expression>
<nonterminal>StringConstant</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Constant</nonterminal>
<xns1:expression>
<nonterminal>UndefConstant</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>FunctionOrVariableTerm</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>declaration</selector>
<xns1:expression>
<nonterminal>ElementDecl</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>terms</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>OperatorTerm</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>opName</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>leftExp</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>rightExp</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>BooleanConstant</nonterminal>
<xns1:expression>
<selectable>
<selector>value</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>IntegerConstant</nonterminal>
<xns1:expression>
<selectable>
<selector>value</selector>
<xns1:expression>
<nonterminal>Integer</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StringConstant</nonterminal>
<xns1:expression>
<selectable>
<selector>value</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UndefConstant</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>SkipRule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>AsmInvocation</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>UpdateRule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>ChooseRule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>DoForallRule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>ConditionalRule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>ExtendRule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Rule</nonterminal>
<xns1:expression>
<nonterminal>ReturnRule</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SkipRule</nonterminal>
<xns1:expression>
<selectable>
<selector>inSequence</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AsmInvocation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>asmName</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>arguments</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>UpdateRule</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>function</selector>
<xns1:expression>
<nonterminal>FunctionOrVariableTerm</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>updateTerm</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ChooseRule</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>chooseId</selector>
<xns1:expression>
<nonterminal>VariableDecl</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>inSet</selector>
<xns1:expression>
<nonterminal>Universe</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>guard</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>ifChoosenRules</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>ifNotChoosenRule</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>DoForallRule</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>id</selector>
<xns1:expression>
<nonterminal>VariableDecl</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>inSet</selector>
<xns1:expression>
<nonterminal>Universe</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>condition</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>doRule</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ConditionalRule</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>condition</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>thenRule</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>elseRule</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>elseIfRule</selector>
<xns1:expression>
<nonterminal>ElseIf</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ElseIf</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>condition</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>thenRule</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>elseRule</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>elseIfRule</selector>
<xns1:expression>
<nonterminal>ElseIf</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExtendRule</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>extensions</selector>
<xns1:expression>
<nonterminal>Extension</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>rules</selector>
<xns1:expression>
<nonterminal>Rule</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ElementDecl</nonterminal>
<xns1:expression>
<nonterminal>VariableDecl</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ElementDecl</nonterminal>
<xns1:expression>
<nonterminal>Function</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VariableDecl</nonterminal>
<xns1:expression>
<nonterminal>Argument</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Extension</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>elements</selector>
<xns1:expression>
<nonterminal>VariableDecl</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>universe</selector>
<xns1:expression>
<nonterminal>Universe</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ReturnRule</nonterminal>
<xns1:expression>
<selectable>
<selector>term</selector>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AccessUpdateType</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<selectable>
<selector>access</selector>
<xns1:expression>
<epsilon/>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>update</selector>
<xns1:expression>
<epsilon/>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AsmType</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<selectable>
<selector>function</selector>
<xns1:expression>
<epsilon/>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>subasm</selector>
<xns1:expression>
<epsilon/>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
</xns1:grammar>