From 99b5300795682a9fd5cf5cfe7d866d0055b327b1 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 20 Mar 2010 21:24:01 +0000 Subject: [PATCH] MakeStructural in Cat and Spa --- lib/src/catalan/MakeStructuralCat.gf | 23 +++++++++++++++++++++++ lib/src/spanish/MakeStructuralSpa.gf | 23 +++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 lib/src/catalan/MakeStructuralCat.gf create mode 100644 lib/src/spanish/MakeStructuralSpa.gf diff --git a/lib/src/catalan/MakeStructuralCat.gf b/lib/src/catalan/MakeStructuralCat.gf new file mode 100644 index 000000000..d2bed918b --- /dev/null +++ b/lib/src/catalan/MakeStructuralCat.gf @@ -0,0 +1,23 @@ +--# -path=.:../romance:../common:../abstract + +resource MakeStructuralCat = open CatCat, (P = ParadigmsCat), MorphoCat, Prelude in { + +oper + mkConj : Str -> Str -> Number -> Conj = \x,y,n -> + {s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ; + mkSubj : Str -> Subj = \x -> + {s = x ; m = Indic ; lock_Subj = <>} ; + mkSubjSubj : Str -> Subj = \x -> + {s = x ; m = Conjunct ; lock_Subj = <>} ; + + mkIQuant : Str -> IQuant = \s -> + {s = \\_,_,c => prepCase c ++ s ; lock_IQuant = <>} ; + + mkPredet : Str -> Str -> Prep -> Bool -> Predet = \m,f,c,p -> lin Predet { + s = \\g,k => prepCase k ++ case g.g of {Masc => m ; Fem => f} ; + c = c.c ; + a = if_then_else PAgr p (PAg Sg) PNoAg ---- e,g, "chacun de"; other possibilities? + } ; + + +} diff --git a/lib/src/spanish/MakeStructuralSpa.gf b/lib/src/spanish/MakeStructuralSpa.gf new file mode 100644 index 000000000..4caa705e1 --- /dev/null +++ b/lib/src/spanish/MakeStructuralSpa.gf @@ -0,0 +1,23 @@ +--# -path=.:../romance:../common:../abstract + +resource MakeStructuralSpa = open CatSpa, (P = ParadigmsSpa), MorphoSpa, Prelude in { + +oper + mkConj : Str -> Str -> Number -> Conj = \x,y,n -> + {s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ; + mkSubj : Str -> Subj = \x -> + {s = x ; m = Indic ; lock_Subj = <>} ; + mkSubjSubj : Str -> Subj = \x -> + {s = x ; m = Conjunct ; lock_Subj = <>} ; + + mkIQuant : Str -> IQuant = \s -> + {s = \\_,_,c => prepCase c ++ s ; lock_IQuant = <>} ; + + mkPredet : Str -> Str -> Prep -> Bool -> Predet = \m,f,c,p -> lin Predet { + s = \\g,k => prepCase k ++ case g.g of {Masc => m ; Fem => f} ; + c = c.c ; + a = if_then_else PAgr p (PAg Sg) PNoAg ---- e,g, "chacun de"; other possibilities? + } ; + + +}