summaryrefslogtreecommitdiff
path: root/next-lib/src
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-11-15 20:08:09 +0000
committeraarne <aarne@cs.chalmers.se>2008-11-15 20:08:09 +0000
commitf30560efcc5acb39f8b9a4a5d0ea0482224a5fc1 (patch)
tree91f1e3b2a3044ee3531dcf4a799db427681c81b4 /next-lib/src
parent373b4d6828e0eba56e11cd5851591d303f369b43 (diff)
Attempto complete up to spec
Diffstat (limited to 'next-lib/src')
-rw-r--r--next-lib/src/api/Constructors.gf7
-rw-r--r--next-lib/src/english/MakeStructuralEng.gf2
-rw-r--r--next-lib/src/french/MakeStructuralFre.gf3
-rw-r--r--next-lib/src/german/MakeStructuralGer.gf2
-rw-r--r--next-lib/src/swedish/MakeStructuralSwe.gf12
5 files changed, 24 insertions, 2 deletions
diff --git a/next-lib/src/api/Constructors.gf b/next-lib/src/api/Constructors.gf
index 305c30c6d..2c93f6769 100644
--- a/next-lib/src/api/Constructors.gf
+++ b/next-lib/src/api/Constructors.gf
@@ -1378,6 +1378,13 @@ incomplete resource Constructors = open Grammar in {
= AdvIP
} ;
+ mkIDet = overload {
+ mkIDet : IQuant -> Num -> IDet -- which (songs)
+ = \i,nu -> IdetQuant i nu ;
+ mkIDet : IQuant -> IDet -- which (song)
+ = \i -> IdetQuant i NumSg ;
+ } ;
+
whichSg_IDet : IDet = IdetQuant which_IQuant NumSg ;
whichPl_IDet : IDet = IdetQuant which_IQuant NumPl ;
diff --git a/next-lib/src/english/MakeStructuralEng.gf b/next-lib/src/english/MakeStructuralEng.gf
index 7871cb3c6..eeaee1dcf 100644
--- a/next-lib/src/english/MakeStructuralEng.gf
+++ b/next-lib/src/english/MakeStructuralEng.gf
@@ -9,5 +9,7 @@ oper
{s = x ; lock_Subj = <>} ;
mkNP : Str -> Number -> NP = \s,n ->
regNP s n ** {lock_NP = <>} ;
+ mkIDet : Str -> Number -> IDet = \s,n ->
+ {s = s ; n = n ; lock_IDet = <>} ;
}
diff --git a/next-lib/src/french/MakeStructuralFre.gf b/next-lib/src/french/MakeStructuralFre.gf
index 282e1c3e7..5aa94dcfe 100644
--- a/next-lib/src/french/MakeStructuralFre.gf
+++ b/next-lib/src/french/MakeStructuralFre.gf
@@ -10,4 +10,7 @@ oper
mkSubjSubj : Str -> Subj = \x ->
{s = x ; m = Conjunct ; lock_Subj = <>} ;
+ mkIQuant : Str -> IQuant = \s ->
+ {s = \\_,_,c => prepCase c ++ s ; lock_IQuant = <>} ;
+
}
diff --git a/next-lib/src/german/MakeStructuralGer.gf b/next-lib/src/german/MakeStructuralGer.gf
index 8f5006df9..1a26e59cd 100644
--- a/next-lib/src/german/MakeStructuralGer.gf
+++ b/next-lib/src/german/MakeStructuralGer.gf
@@ -7,5 +7,7 @@ oper
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
mkSubj : Str -> Subj = \x ->
{s = x ; lock_Subj = <>} ;
+ mkIQuant : Str -> IQuant = \s ->
+ {s = \\_,_,_ => s ; lock_IQuant = <>} ;
}
diff --git a/next-lib/src/swedish/MakeStructuralSwe.gf b/next-lib/src/swedish/MakeStructuralSwe.gf
index 48d0a1225..1da7840df 100644
--- a/next-lib/src/swedish/MakeStructuralSwe.gf
+++ b/next-lib/src/swedish/MakeStructuralSwe.gf
@@ -1,11 +1,19 @@
--# -path=.:../scandinavian:../common:../abstract
-resource MakeStructuralSwe = open CatSwe, ParadigmsSwe, MorphoSwe, Prelude in {
+resource MakeStructuralSwe = open CatSwe, ParadigmsSwe,
+ (P=ParadigmsSwe), MorphoSwe, Prelude in {
oper
- mkConj : Str -> Str -> Number -> Conj = \x,y,n ->
+ mkConj : Str -> Str -> P.Number -> Conj = \x,y,n ->
{s1 = x ; s2 = y ; n = n ; lock_Conj = <>} ;
mkSubj : Str -> Subj = \x ->
{s = x ; lock_Subj = <>} ;
+ mkIQuant : Str -> Str -> Str -> DetSpecies -> IQuant = \vilken,vilket,vilka,d ->
+ {s = table (P.Number)
+ [table (P.Gender) [vilken;vilket] ; table (P.Gender) [vilka;vilka]] ;
+ det = d ; lock_IQuant = <>} ;
+
+ dDefIndef : DetSpecies = DDef Indef ;
+ ---- other DetSpecies
}