Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
336 lines (335 sloc) 7.82 KB
<?xml version="1.0" encoding="UTF-8"?>
<xns1:grammar xmlns:xns1="http://planet-sl.org/bgf">
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<nonterminal>Class</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<nonterminal>Interface</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<nonterminal>Method</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Modifier</nonterminal>
<xns1:expression>
<nonterminal>Field</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Class</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>superClass</selector>
<xns1:expression>
<nonterminal>Class</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>implement</selector>
<xns1:expression>
<nonterminal>Interface</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>methods</selector>
<xns1:expression>
<nonterminal>Method</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>fields</selector>
<xns1:expression>
<nonterminal>Field</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Interface</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>superInterface</selector>
<xns1:expression>
<nonterminal>Interface</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>implementedBy</selector>
<xns1:expression>
<nonterminal>Class</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>abstractMethods</selector>
<xns1:expression>
<nonterminal>Method</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>constants</selector>
<xns1:expression>
<nonterminal>Field</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Method</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>share</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>class</selector>
<xns1:expression>
<nonterminal>Class</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>interface</selector>
<xns1:expression>
<nonterminal>Interface</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>resultOf</selector>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<plus>
<xns1:expression>
<selectable>
<selector>parameters</selector>
<xns1:expression>
<nonterminal>Parameter</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</plus>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Field</nonterminal>
<xns1:expression>
<sequence>
<xns1:expression>
<selectable>
<selector>share</selector>
<xns1:expression>
<nonterminal>Boolean</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>class</selector>
<xns1:expression>
<nonterminal>Class</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>interface</selector>
<xns1:expression>
<nonterminal>Interface</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>value</selector>
<xns1:expression>
<nonterminal>Value</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>typeOf</selector>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Value</nonterminal>
<xns1:expression>
<epsilon/>
</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>typeOf</selector>
<xns1:expression>
<nonterminal>Type</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
<xns1:expression>
<selectable>
<selector>owner</selector>
<xns1:expression>
<nonterminal>Method</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</sequence>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<nonterminal>ReferenceType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<nonterminal>PrimitiveType</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Type</nonterminal>
<xns1:expression>
<choice>
<xns1:expression>
<nonterminal>ReferenceType</nonterminal>
</xns1:expression>
<xns1:expression>
<nonterminal>PrimitiveType</nonterminal>
</xns1:expression>
</choice>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>ReferenceType</nonterminal>
<xns1:expression>
<selectable>
<selector>reference</selector>
<xns1:expression>
<nonterminal>Class</nonterminal>
</xns1:expression>
</selectable>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>PrimitiveType</nonterminal>
<xns1:expression>
<nonterminal>Int</nonterminal>
</xns1:expression>
</xns1:production>
<xns1:production>
<nonterminal>Int</nonterminal>
<xns1:expression>
<epsilon/>
</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:grammar>