summaryrefslogtreecommitdiff
path: root/grammars/testConversions/MicroCnc.gf
diff options
context:
space:
mode:
authorpeb <unknown>2004-06-02 11:17:15 +0000
committerpeb <unknown>2004-06-02 11:17:15 +0000
commit7716f818869971da138cf706c124a6be73bbab62 (patch)
tree4ec44ec8a042d15b48a4554ef8333e6395487689 /grammars/testConversions/MicroCnc.gf
parent9b0a96859790a4d30bf2071a20a7e7d29dbd1131 (diff)
*** empty log message ***
Diffstat (limited to 'grammars/testConversions/MicroCnc.gf')
-rw-r--r--grammars/testConversions/MicroCnc.gf22
1 files changed, 19 insertions, 3 deletions
diff --git a/grammars/testConversions/MicroCnc.gf b/grammars/testConversions/MicroCnc.gf
index c58c44c9b..a88795ec4 100644
--- a/grammars/testConversions/MicroCnc.gf
+++ b/grammars/testConversions/MicroCnc.gf
@@ -1,10 +1,26 @@
-concrete MicroCnc of MicroAbs = {
+concrete MicroCnc of MicroAbs = open MicroRes in {
-lincat S = {a : {s1:Str ; s2:Str}};
+lincat
+S = {s : Str};
+VV = {a : {s1:Str ; s2:Str}};
+V = {s1 : Str ; s2 : Str ; p : PQ};
+W = {s : Num => Str ; p : PQ => Num};
-lin vars = {a = variants { {s1="a" ; s2=variants{"b";"c"}} ; {s1="d";s2="e"} }};
+lin
+sv x = {s = x.s1 ++ x.s2};
+vars = {a = variants { {s1="a" ; s2=variants{"b";"c"}} ; {s1="d";s2="e"} }};
+ww x = {s = table {Sg => x.s!(x.p!P);
+ Pl => x.s!(x.p!Q Pl)};
+ p = table {P => Sg ; Q n => n}};
+svw x y = {s = x.s2 ++ y.s!(y.p!x.p) ++ x.s1};
+supr x y = {s = x.s1 ++ "a" ++ x.s2};
+supredup x y = {s = x.s ++ "b" ++ x.s};
+suplbl x = {s = x.s1};
+reorder x y = {s1 = x.s2 ++ y.s1 ++ x.s1;
+ s2 = y.s2 ++ y.s1;
+ p = x.p};
}