Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
425 lines (424 sloc) 10.3 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>Integer</nonterminal>
<xns1:expression>
<value>int</value>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>String</nonterminal>
<xns1:expression>
<value>string</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>CDerived</nonterminal>
<xns1:expression>
<nonterminal>CPPReference</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CDerived</nonterminal>
<xns1:expression>
<nonterminal>CPPExtern</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CDerived</nonterminal>
<xns1:expression>
<nonterminal>CPPConst</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CDerived</nonterminal>
<xns1:expression>
<nonterminal>CPPTemplate</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CDerived</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>CPPReference</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CPPExtern</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CPPConst</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>CPPTemplate</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CStructured</nonterminal>
<xns1:expression>
<nonterminal>CPPClass</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CBehavorialFeature</nonterminal>
<xns1:expression>
<nonterminal>CFunction</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CFunction</nonterminal>
<xns1:expression>
<nonterminal>CPPOperation</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CFunction</nonterminal>
<xns1:expression>
<selectable>
<selector>isVsrArg</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CStructureContents</nonterminal>
<xns1:expression>
<nonterminal>CPPOperator</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CStructureContents</nonterminal>
<xns1:expression>
<nonterminal>CPPOperation</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CField</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CDerivableType</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>VisibilityKind</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<selectable>
<selector>vk_public</selector>
<xns1:expression>
<epsilon/>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>vk_private</selector>
<xns1:expression>
<epsilon/>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>vk_protected</selector>
<xns1:expression>
<epsilon/>
</xns1:expression>
</selectable>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPReference</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPExtern</nonterminal>
<xns1:expression>
<selectable>
<selector>linkage</selector>
<xns1:expression>
<nonterminal>String</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPConst</nonterminal>
<xns1:expression>
<epsilon/>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPTemplate</nonterminal>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>classes</selector>
<xns1:expression>
<nonterminal>CPPClass</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPClass</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>isAbstract</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isVolatile</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>visibility</selector>
<xns1:expression>
<nonterminal>VisibilityKind</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>templates</selector>
<xns1:expression>
<nonterminal>CPPTemplate</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>generalizations</selector>
<xns1:expression>
<nonterminal>CPPGeneralization</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPGeneralization</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>visibility</selector>
<xns1:expression>
<nonterminal>VisibilityKind</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isVirtual</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>supertype</selector>
<xns1:expression>
<nonterminal>CPPClass</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPOperation</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>isStatic</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isExtern</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isInline</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isVirtual</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isPure</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>visibility</selector>
<xns1:expression>
<nonterminal>VisibilityKind</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isCtor</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isDtor</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>throws</selector>
<xns1:expression>
<nonterminal>CPPClass</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPOperator</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>isInline</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>visibility</selector>
<xns1:expression>
<nonterminal>VisibilityKind</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>CPPMember</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>isStatic</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isVolatile</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>isRegister</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>visibility</selector>
<xns1:expression>
<nonterminal>VisibilityKind</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
</xns1:grammar>