Skip to content

Commit

Permalink
the first complicated tridirectional test case: folding + labels
Browse files Browse the repository at this point in the history
  • Loading branch information
grammarware committed May 15, 2012
1 parent fc1839e commit 063b981
Show file tree
Hide file tree
Showing 14 changed files with 421 additions and 14 deletions.
46 changes: 46 additions & 0 deletions topics/convergence/declarative/tests/fold-labels-fl-1.bgf
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>z</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>z</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<selectable>
<selector>begin</selector>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<selectable>
<selector>end</selector>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
36 changes: 36 additions & 0 deletions topics/convergence/declarative/tests/fold-labels-fl-2.bgf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
<bgf:expression>
<selectable>
<selector>begin</selector>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<selectable>
<selector>end</selector>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
36 changes: 36 additions & 0 deletions topics/convergence/declarative/tests/fold-labels-fl-3.bgf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>z</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>z</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
84 changes: 84 additions & 0 deletions topics/convergence/declarative/tests/fold-labels-fl.mbgf
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8"?>
<mbgf:sequence xmlns:bgf="http://planet-sl.org/bgf" xmlns:mbgf="http://planet-sl.org/mbgf">
<sources>
<src name="a">fold-labels-fl-1.bgf</src>
<src name="b">fold-labels-fl-2.bgf</src>
<src name="c">fold-labels-fl-3.bgf</src>
</sources>
<folding id="fld" depends="sels:deanonymize">
<src name="a,c">
<bgf:production>
<nonterminal>z</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<selectable>
<selector>begin</selector>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<selectable>
<selector>end</selector>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</src>
</folding>
<selectables id="sels" depends="fld:extract">
<src name="a,b">
<bgf:production>
<nonterminal>z</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<marked>
<bgf:expression>
<selectable>
<selector>begin</selector>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
</marked>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<marked>
<bgf:expression>
<selectable>
<selector>end</selector>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
</marked>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</src>
</selectables>
</mbgf:sequence>
46 changes: 46 additions & 0 deletions topics/convergence/declarative/tests/fold-labels-lf-1.bgf
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>z</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>z</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<selectable>
<selector>begin</selector>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<selectable>
<selector>end</selector>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
36 changes: 36 additions & 0 deletions topics/convergence/declarative/tests/fold-labels-lf-2.bgf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
<bgf:expression>
<selectable>
<selector>begin</selector>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<selectable>
<selector>end</selector>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</selectable>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
36 changes: 36 additions & 0 deletions topics/convergence/declarative/tests/fold-labels-lf-3.bgf
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>z</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>z</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<terminal>(</terminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<terminal>)</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
Loading

0 comments on commit 063b981

Please sign in to comment.