Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
413 lines (412 sloc) 8.01 KB
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>mainRule</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>contextSection</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>defaultMetaclassSection</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>mapping</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>contextSection</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>AT</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>CONTEXT</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>instanceName</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>COMMA</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>instanceName</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<nonterminal>SEMI</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>defaultMetaclassSection</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>AT</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>DEFAULT_METACLASS</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>LPAREN</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>RPAREN</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>SEMI</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>mapping</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>ENUM</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<nonterminal>metaclassName</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>COLON</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>instanceName</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>LCURLY</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>section</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<nonterminal>RCURLY</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>metaclassName</nonterminal>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>instanceName</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>DOT</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>section</nonterminal>
<bgf:expression>
<choice>
<bgf:expression>
<nonterminal>newSection</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>multipleSection</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>propertySection</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>valueSection</nonterminal>
</bgf:expression>
</choice>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>newSection</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>AT</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>NEW</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>constructorCall</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>multipleSection</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>AT</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>MULTIPLE</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>statement</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>propertySection</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>COLON</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>statement</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>valueSection</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>COLON</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>instanceName</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>SEMI</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>statement</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>LPAREN</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>variable</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>COMMA</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>variable</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<nonterminal>RPAREN</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<nonterminal>methodCall</nonterminal>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<nonterminal>SEMI</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>constructorCall</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>LPAREN</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>param</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>COMMA</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>param</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<nonterminal>RPAREN</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>SEMI</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>methodCall</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>LPAREN</nonterminal>
</bgf:expression>
<bgf:expression>
<optional>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>param</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>COMMA</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>param</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
<bgf:expression>
<nonterminal>RPAREN</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</optional>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>variable</nonterminal>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>param</nonterminal>
<bgf:expression>
<nonterminal>ID</nonterminal>
</bgf:expression>
</bgf:production>
</bgf:grammar>