Skip to content

Commit

Permalink
more test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
grammarware committed May 15, 2012
1 parent 786e2a0 commit 0790c14
Show file tree
Hide file tree
Showing 40 changed files with 739 additions and 4 deletions.
10 changes: 9 additions & 1 deletion shared/python/MBGF.py
Expand Up @@ -154,11 +154,19 @@ def getSpecifics(self):
class Iteration (SrcSimpleModel):
def __init__(self, xml):
self.label = xml.findtext('label')
if not self.label:
self.label = ''
self.nt = xml.findtext('name')
self.sep = xml.findtext('separator')
self.parse(xml)
def getSpecifics(self):
return ', '.join(('['+self.label+']','n('+self.nt+')','n('+self.sep+')'))
s = ''
if self.label:
s += '['+self.label+'], '
s += 'n('+self.nt+')'
if self.sep:
s += ', n('+self.sep+')'
return s

# <selectables>
# <src name="...">
Expand Down
27 changes: 27 additions & 0 deletions topics/convergence/declarative/tests/iteration-irl-1.bgf
@@ -0,0 +1,27 @@
<?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>x</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>op</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
19 changes: 19 additions & 0 deletions topics/convergence/declarative/tests/iteration-irl-2.bgf
@@ -0,0 +1,19 @@
<?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>x</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>op</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
19 changes: 19 additions & 0 deletions topics/convergence/declarative/tests/iteration-irl-3.bgf
@@ -0,0 +1,19 @@
<?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>x</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>op</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
15 changes: 15 additions & 0 deletions topics/convergence/declarative/tests/iteration-irl.mbgf
@@ -0,0 +1,15 @@
<?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">iteration-irl-1.bgf</src>
<src name="b">iteration-irl-2.bgf</src>
<src name="c">iteration-irl-3.bgf</src>
</sources>
<iteration>
<name>x</name>
<separator>op</separator>
<src name="a">iterate</src>
<src name="b">lassoc</src>
<src name="c">rassoc</src>
</iteration>
</mbgf:sequence>
13 changes: 13 additions & 0 deletions topics/convergence/declarative/tests/iteration-nosep-1.bgf
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<plus>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</plus>
</bgf:expression>
</bgf:production>
</bgf:grammar>
16 changes: 16 additions & 0 deletions topics/convergence/declarative/tests/iteration-nosep-2.bgf
@@ -0,0 +1,16 @@
<?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>x</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
13 changes: 13 additions & 0 deletions topics/convergence/declarative/tests/iteration-nosep-3.bgf
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<plus>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</plus>
</bgf:expression>
</bgf:production>
</bgf:grammar>
14 changes: 14 additions & 0 deletions topics/convergence/declarative/tests/iteration-nosep.mbgf
@@ -0,0 +1,14 @@
<?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">iteration-nosep-1.bgf</src>
<src name="b">iteration-nosep-2.bgf</src>
<src name="c">iteration-nosep-3.bgf</src>
</sources>
<iteration>
<name>x</name>
<src name="a">iterate</src>
<src name="b">lassoc</src>
<src name="c">iterate</src>
</iteration>
</mbgf:sequence>
3 changes: 2 additions & 1 deletion topics/convergence/declarative/tests/m1
Expand Up @@ -2,7 +2,8 @@

# m1 file.mbgf one two
# $0 $1 $2 $3
rm -f tmp.xbgf tmp1.bgf
../../tri/mbgf2xbgf.py $1 $2 $3 tmp.xbgf
xbgf tmp.xbgf `xpath $1 'mbgf:sequence/sources/src[@name="'$2'"]/text()' 2> /dev/null` tmp1.bgf
gdt tmp1.bgf `xpath $1 'mbgf:sequence/sources/src[@name="'$3'"]/text()' 2> /dev/null` || exit -1
rm tmp.xbgf tmp1.bgf
rm -f tmp.xbgf tmp1.bgf
16 changes: 16 additions & 0 deletions topics/convergence/declarative/tests/naming-dde-1.bgf
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>d</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>bar</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
16 changes: 16 additions & 0 deletions topics/convergence/declarative/tests/naming-dde-2.bgf
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>e</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>bar</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
16 changes: 16 additions & 0 deletions topics/convergence/declarative/tests/naming-dde-3.bgf
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>d</nonterminal>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>foo</nonterminal>
</bgf:expression>
<bgf:expression>
<terminal>bar</terminal>
</bgf:expression>
</sequence>
</bgf:expression>
</bgf:production>
</bgf:grammar>
13 changes: 13 additions & 0 deletions topics/convergence/declarative/tests/naming-dde.mbgf
@@ -0,0 +1,13 @@
<?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">naming-dde-1.bgf</src>
<src name="b">naming-dde-2.bgf</src>
<src name="c">naming-dde-3.bgf</src>
</sources>
<name-bind>
<name>x</name>
<src name="a,c">d</src>
<src name="b">e</src>
</name-bind>
</mbgf:sequence>
9 changes: 9 additions & 0 deletions topics/convergence/declarative/tests/testcopy
@@ -0,0 +1,9 @@
#!/bin/sh

echo Copying...
cp $1.mbgf $2.mbgf
cp $1-1.bgf $2-1.bgf
cp $1-2.bgf $2-2.bgf
cp $1-3.bgf $2-3.bgf
perl -pi -w -e 's/'$1'/'$2'/g;' $2.mbgf
echo Test case copied.
30 changes: 30 additions & 0 deletions topics/convergence/declarative/tests/topchoice-hhv-1.bgf
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<choice>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>op</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
</choice>
</bgf:expression>
</bgf:production>
</bgf:grammar>
30 changes: 30 additions & 0 deletions topics/convergence/declarative/tests/topchoice-hhv-2.bgf
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<choice>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>op</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
</choice>
</bgf:expression>
</bgf:production>
</bgf:grammar>
32 changes: 32 additions & 0 deletions topics/convergence/declarative/tests/topchoice-hhv-3.bgf
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<star>
<bgf:expression>
<sequence>
<bgf:expression>
<nonterminal>op</nonterminal>
</bgf:expression>
<bgf:expression>
<nonterminal>x</nonterminal>
</bgf:expression>
</sequence>
</bgf:expression>
</star>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<nonterminal>y</nonterminal>
</bgf:expression>
</bgf:production>
</bgf:grammar>
13 changes: 13 additions & 0 deletions topics/convergence/declarative/tests/topchoice-hhv.mbgf
@@ -0,0 +1,13 @@
<?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">topchoice-hhv-1.bgf</src>
<src name="b">topchoice-hhv-2.bgf</src>
<src name="c">topchoice-hhv-3.bgf</src>
</sources>
<top-choice>
<name>x</name>
<src name="a,b">horizontal</src>
<src name="c">vertical</src>
</top-choice>
</mbgf:sequence>
15 changes: 15 additions & 0 deletions topics/convergence/declarative/tests/unification-easy-1.bgf
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<terminal>a</terminal>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>y</nonterminal>
<bgf:expression>
<terminal>b</terminal>
</bgf:expression>
</bgf:production>
</bgf:grammar>
15 changes: 15 additions & 0 deletions topics/convergence/declarative/tests/unification-easy-2.bgf
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<bgf:grammar xmlns:bgf="http://planet-sl.org/bgf">
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<terminal>a</terminal>
</bgf:expression>
</bgf:production>
<bgf:production>
<nonterminal>x</nonterminal>
<bgf:expression>
<terminal>b</terminal>
</bgf:expression>
</bgf:production>
</bgf:grammar>

0 comments on commit 0790c14

Please sign in to comment.