summaryrefslogtreecommitdiff
path: root/testsuite/srg
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2009-05-20 11:25:00 +0000
committerkrasimir <krasimir@chalmers.se>2009-05-20 11:25:00 +0000
commit352ac74b0ff4fb616a9f40332b4c60d6c8953564 (patch)
tree3d0a8d373e29f34544d4b35e11e419b19c1a9688 /testsuite/srg
parentb6ce113041d7dc26021591f050bc11a358091594 (diff)
examples/test is moved to testsuite
Diffstat (limited to 'testsuite/srg')
-rw-r--r--testsuite/srg/cyclic-direct/cyclic-direct.gf7
-rw-r--r--testsuite/srg/cyclic-empty-prod/cyclic-empty-prod.gf9
-rw-r--r--testsuite/srg/cyclic-indirect/cyclic-indirect.gf11
-rw-r--r--testsuite/srg/lc_lr-empty-category/lc_lr-empty-category.gf9
-rw-r--r--testsuite/srg/left-recursive/left-recursive.gf7
-rw-r--r--testsuite/srg/variants-ebnf/variants-ebnf.gf4
6 files changed, 47 insertions, 0 deletions
diff --git a/testsuite/srg/cyclic-direct/cyclic-direct.gf b/testsuite/srg/cyclic-direct/cyclic-direct.gf
new file mode 100644
index 000000000..e9bc669c6
--- /dev/null
+++ b/testsuite/srg/cyclic-direct/cyclic-direct.gf
@@ -0,0 +1,7 @@
+cat S;
+
+fun f : S -> S ;
+fun g : S ;
+
+lin f s = { s = s.s } ;
+lin g = { s = "g" } ; \ No newline at end of file
diff --git a/testsuite/srg/cyclic-empty-prod/cyclic-empty-prod.gf b/testsuite/srg/cyclic-empty-prod/cyclic-empty-prod.gf
new file mode 100644
index 000000000..fc87b893f
--- /dev/null
+++ b/testsuite/srg/cyclic-empty-prod/cyclic-empty-prod.gf
@@ -0,0 +1,9 @@
+cat S; E;
+
+fun s : S ;
+fun es : E -> S -> S ;
+fun e : E ;
+
+lin s = { s = "s" } ;
+lin es e s = { s = e.s ++ s.s } ;
+lin e = { s = [] } ;
diff --git a/testsuite/srg/cyclic-indirect/cyclic-indirect.gf b/testsuite/srg/cyclic-indirect/cyclic-indirect.gf
new file mode 100644
index 000000000..316589cd8
--- /dev/null
+++ b/testsuite/srg/cyclic-indirect/cyclic-indirect.gf
@@ -0,0 +1,11 @@
+-- a grammar with an indirect cycle
+
+cat S; G;
+
+fun f : S ;
+fun fg : G -> S ;
+fun gf : S -> G ;
+
+lin f = { s = "f" } ;
+lin fg x = x;
+lin gf x = x;
diff --git a/testsuite/srg/lc_lr-empty-category/lc_lr-empty-category.gf b/testsuite/srg/lc_lr-empty-category/lc_lr-empty-category.gf
new file mode 100644
index 000000000..f0df42fc8
--- /dev/null
+++ b/testsuite/srg/lc_lr-empty-category/lc_lr-empty-category.gf
@@ -0,0 +1,9 @@
+cat S; E;
+
+fun f : E -> S ;
+fun g : S -> S ;
+fun e : E ;
+
+lin f e = { s = e.s } ;
+lin g s = { s = s.s ++ "x" } ;
+lin e = { s = "e" } ;
diff --git a/testsuite/srg/left-recursive/left-recursive.gf b/testsuite/srg/left-recursive/left-recursive.gf
new file mode 100644
index 000000000..df873e4a9
--- /dev/null
+++ b/testsuite/srg/left-recursive/left-recursive.gf
@@ -0,0 +1,7 @@
+cat S;
+
+fun f : S -> S ;
+ g : S ;
+
+lin f x = { s = x.s ++ "f" } ;
+ g = { s = "s" } ;
diff --git a/testsuite/srg/variants-ebnf/variants-ebnf.gf b/testsuite/srg/variants-ebnf/variants-ebnf.gf
new file mode 100644
index 000000000..6671918ec
--- /dev/null
+++ b/testsuite/srg/variants-ebnf/variants-ebnf.gf
@@ -0,0 +1,4 @@
+cat S;
+fun f : S;
+
+lin f = { s = variants {"a"; "b"} ++ variants {"c"; "d"} ++ variants {"e"; "f"} ++ variants { "g";"h";} } ; \ No newline at end of file