Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
1120 lines (1119 sloc) 25.9 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>Module</nonterminal>
<xns1:expression>
<nonterminal>ListDeclaration</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Declaration</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>enum</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Ident</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ListEnumId</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>Clafer</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Constraint</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Clafer</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Abstract</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>GCard</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Ident</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Super</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Card</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Elements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Constraint</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>[</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ListLExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>]</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Abstract</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<epsilon/>
</xns1:expression>
<xns1:expression>
<terminal>abstract</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Elements</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<epsilon/>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>{</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ListElement</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>}</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Element</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Clafer</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>‘</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Name</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Card</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Elements</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>Constraint</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Super</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<epsilon/>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>extends</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Name</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>−&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ListModId</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>GCard</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<epsilon/>
</xns1:expression>
<xns1:expression>
<terminal>xor</terminal>
</xns1:expression>
<xns1:expression>
<terminal>or</terminal>
</xns1:expression>
<xns1:expression>
<terminal>mux</terminal>
</xns1:expression>
<xns1:expression>
<terminal>opt</terminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>GNCard</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Card</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<epsilon/>
</xns1:expression>
<xns1:expression>
<terminal>?</terminal>
</xns1:expression>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>NCard</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>GNCard</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Integer</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>−</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ExInteger</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>NCard</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Integer</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>..</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>ExInteger</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExInteger</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Integer</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Name</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ListModId</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Ident</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LExp</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;=&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp1</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp1</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LExp1</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LExp1</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp2</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LExp1</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp2</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>else</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp2</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp2</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LExp2</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LExp2</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>||</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp3</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp3</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LExp3</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LExp3</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>xor</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp4</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp4</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LExp4</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LExp4</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&#38;&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp5</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp5</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LExp5</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>~</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp6</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp6</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LExp6</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Term</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Term</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>CmpExp</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Quant</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ListDecl</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>LExp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CmpExp</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>==</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&gt;=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>!=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>/=</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>in</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>not</terminal>
</xns1:expression>
<xns1:expression>
<terminal>in</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Exp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Exp</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>AExp</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StrExp</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Quant</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>no</terminal>
</xns1:expression>
<xns1:expression>
<terminal>lone</terminal>
</xns1:expression>
<xns1:expression>
<terminal>one</terminal>
</xns1:expression>
<xns1:expression>
<terminal>some</terminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ExQuant</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<terminal>all</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Quant</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SExp</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp1</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp1</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SExp1</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SExp1</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&#38;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp2</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp2</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SExp2</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SExp2</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>&lt;:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp3</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp3</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SExp3</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SExp3</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:&gt;</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp4</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp4</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SExp4</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>SExp4</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>.</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp5</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp5</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>SExp5</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>Ident</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Decl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ExQuant</nonterminal>
</xns1:expression>
<xns1:expression>
<optional>
<xns1:expression>
<terminal>disj</terminal>
</xns1:expression>
</optional>
</xns1:expression>
<xns1:expression>
<nonterminal>ListLocId</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>:</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AExp</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>+</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AExp1</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>−</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AExp1</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>AExp1</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AExp1</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>AExp1</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>*</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AExp2</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>AExp2</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>AExp2</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>#</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>SExp</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>Integer</nonterminal>
</xns1:expression>
<xns1:expression>
<sequence>
<xns1:expression>
<terminal>(</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>AExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>)</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>StrExp</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>StrExp</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>++</terminal>
</xns1:expression>
<xns1:expression>
<nonterminal>StrExp</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>EnumId</nonterminal>
<xns1:expression>
<nonterminal>Ident</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ModId</nonterminal>
<xns1:expression>
<nonterminal>Ident</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>LocId</nonterminal>
<xns1:expression>
<nonterminal>Ident</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ListDeclaration</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>Declaration</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ListEnumId</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>EnumId</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>|</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>EnumId</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ListElement</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>Element</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ListLExp</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<nonterminal>LExp</nonterminal>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ListDecl</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>Decl</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>Decl</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ListLocId</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>LocId</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>,</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
<xns1:expression>
<nonterminal>LocId</nonterminal>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ListModId</nonterminal>
<xns1:expression>
<star>
<xns1:expression>
<sequence>
<xns1:expression>
<nonterminal>ModId</nonterminal>
</xns1:expression>
<xns1:expression>
<terminal>/</terminal>
</xns1:expression>
</sequence>
</xns1:expression>
</star>
</xns1:expression>
</xns1:production>
</xns1:grammar>