From 3d92897a944fef8f201b3ced837156b50c415106 Mon Sep 17 00:00:00 2001 From: krasimir Date: Mon, 20 Oct 2008 11:11:59 +0000 Subject: more test/srg to examples/test/srg --- examples/test/srg/cyclic-direct/cyclic-direct.gf | 7 +++++++ examples/test/srg/cyclic-empty-prod/cyclic-empty-prod.gf | 9 +++++++++ examples/test/srg/cyclic-indirect/cyclic-indirect.gf | 11 +++++++++++ .../test/srg/lc_lr-empty-category/lc_lr-empty-category.gf | 9 +++++++++ examples/test/srg/left-recursive/left-recursive.gf | 7 +++++++ examples/test/srg/variants-ebnf/variants-ebnf.gf | 4 ++++ 6 files changed, 47 insertions(+) create mode 100644 examples/test/srg/cyclic-direct/cyclic-direct.gf create mode 100644 examples/test/srg/cyclic-empty-prod/cyclic-empty-prod.gf create mode 100644 examples/test/srg/cyclic-indirect/cyclic-indirect.gf create mode 100644 examples/test/srg/lc_lr-empty-category/lc_lr-empty-category.gf create mode 100644 examples/test/srg/left-recursive/left-recursive.gf create mode 100644 examples/test/srg/variants-ebnf/variants-ebnf.gf (limited to 'examples') diff --git a/examples/test/srg/cyclic-direct/cyclic-direct.gf b/examples/test/srg/cyclic-direct/cyclic-direct.gf new file mode 100644 index 000000000..e9bc669c6 --- /dev/null +++ b/examples/test/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/examples/test/srg/cyclic-empty-prod/cyclic-empty-prod.gf b/examples/test/srg/cyclic-empty-prod/cyclic-empty-prod.gf new file mode 100644 index 000000000..fc87b893f --- /dev/null +++ b/examples/test/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/examples/test/srg/cyclic-indirect/cyclic-indirect.gf b/examples/test/srg/cyclic-indirect/cyclic-indirect.gf new file mode 100644 index 000000000..316589cd8 --- /dev/null +++ b/examples/test/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/examples/test/srg/lc_lr-empty-category/lc_lr-empty-category.gf b/examples/test/srg/lc_lr-empty-category/lc_lr-empty-category.gf new file mode 100644 index 000000000..f0df42fc8 --- /dev/null +++ b/examples/test/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/examples/test/srg/left-recursive/left-recursive.gf b/examples/test/srg/left-recursive/left-recursive.gf new file mode 100644 index 000000000..df873e4a9 --- /dev/null +++ b/examples/test/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/examples/test/srg/variants-ebnf/variants-ebnf.gf b/examples/test/srg/variants-ebnf/variants-ebnf.gf new file mode 100644 index 000000000..6671918ec --- /dev/null +++ b/examples/test/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 -- cgit v1.2.3