summaryrefslogtreecommitdiff
path: root/next-lib
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-12-02 08:22:32 +0000
committeraarne <aarne@cs.chalmers.se>2008-12-02 08:22:32 +0000
commitd0a129dabc82a23336052255890aba894b8ec7ad (patch)
treec980d769f678a3ea22f317cb22cd93efb1fe4928 /next-lib
parent947d22129f49e654e373cc5d9b2b156a114f1c54 (diff)
sibstantival det forms in scandinavian
Diffstat (limited to 'next-lib')
-rw-r--r--next-lib/src/danish/DiffDan.gf1
-rw-r--r--next-lib/src/danish/StructuralDan.gf17
-rw-r--r--next-lib/src/norwegian/DiffNor.gf1
-rw-r--r--next-lib/src/norwegian/StructuralNor.gf16
-rw-r--r--next-lib/src/scandinavian/CatScand.gf4
-rw-r--r--next-lib/src/scandinavian/DiffScand.gf1
-rw-r--r--next-lib/src/scandinavian/NounScand.gf16
-rw-r--r--next-lib/src/swedish/DiffSwe.gf1
-rw-r--r--next-lib/src/swedish/StructuralSwe.gf23
9 files changed, 49 insertions, 31 deletions
diff --git a/next-lib/src/danish/DiffDan.gf b/next-lib/src/danish/DiffDan.gf
index 2309efd3a..0973cedb1 100644
--- a/next-lib/src/danish/DiffDan.gf
+++ b/next-lib/src/danish/DiffDan.gf
@@ -41,6 +41,7 @@ instance DiffDan of DiffScand = open CommonScand, Prelude in {
Utr => "en" ;
Neutr => "et"
} ;
+ detIndefPl = "nogle" ;
verbHave =
mkVerb "have" "har" "hav" "havde" "haft" "haven" "havet" "havne" **
diff --git a/next-lib/src/danish/StructuralDan.gf b/next-lib/src/danish/StructuralDan.gf
index b7b3836e9..9ab2beb61 100644
--- a/next-lib/src/danish/StructuralDan.gf
+++ b/next-lib/src/danish/StructuralDan.gf
@@ -25,10 +25,10 @@ concrete StructuralDan of Structural = CatDan **
during_Prep = ss "under" ;
either7or_DConj = sd2 "enten" "eller" ** {n = Sg} ;
everybody_NP = regNP "alle" "alles" Plg ;
- every_Det = {s = \\_,_ => "hver" ; n = Sg ; det = DDef Indef} ;
+ every_Det = {s = \\_,_ => "hver" ; sp = \\_,_ => "enhver" ; n = Sg ; det = DDef Indef} ;
everything_NP = regNP "alt" "alts" SgNeutr ;
everywhere_Adv = ss "overalt" ;
- few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
+ few_Det = {s,sp = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
--- first_Ord = {s = "første" ; isDet = True} ;
for_Prep = ss "for" ;
from_Prep = ss "fra" ;
@@ -45,16 +45,15 @@ concrete StructuralDan of Structural = CatDan **
in_Prep = ss "i" ;
it_Pron = MorphoDan.regNP "det" "dets" SgNeutr ;
less_CAdv = X.mkCAdv "mindre" conjThan ;
- many_Det = {s = \\_,_ => "mange" ; n = Pl ; det = DDef Indef} ;
+ many_Det = {s,sp = \\_,_ => "mange" ; n = Pl ; det = DDef Indef} ;
more_CAdv = X.mkCAdv "mer" conjThan ;
most_Predet = {s = gennumForms ["den meste"] ["det meste"] ["de fleste"]} ;
- much_Det = {s = \\_,_ => "meget" ; n = Pl ; det = DDef Indef} ;
+ much_Det = {s,sp = \\_,_ => "meget" ; n = Pl ; det = DDef Indef} ;
must_VV =
mkV "måtte" "må" "må" "måtte" "måttet" "mått" **
{c2 = mkComplement [] ; lock_VV = <>} ;
no_Utt = ss ["nej"] ;
on_Prep = ss "på" ;
---- one_Quant = {s = \\_ => genderForms ["en"] ["et"] ; n = Sg ; det = DIndef} ; --- ei
only_Predet = {s = \\_ => "kun"} ;
or_Conj = {s1 = [] ; s2 = "eller" ; n = Pl} ;
otherwise_PConj = ss "anderledes" ;
@@ -64,13 +63,13 @@ concrete StructuralDan of Structural = CatDan **
quite_Adv = ss "temmelig" ;
she_Pron = MorphoDan.mkNP "hun" "hende" "hendes" "hendes" "hendes" SgUtr P3 ;
so_AdA = ss "så" ;
- someSg_Det = {s = \\_ => genderForms "nogen" "noget" ; n = Sg ; det = DIndef} ;
- somePl_Det = {s = \\_,_ => "nogle" ; n = Pl ; det = DIndef} ;
+ someSg_Det = {s,sp = \\_ => genderForms "nogen" "noget" ; n = Sg ; det = DIndef} ;
+ somePl_Det = {s,sp = \\_,_ => "nogle" ; n = Pl ; det = DIndef} ;
somebody_NP = regNP "nogen" "nogens" SgUtr ;
something_NP = regNP "noget" "nogets" SgNeutr ;
somewhere_Adv = ss ["et eller annet sted"] ; ---- ?
that_Quant =
- {s = table {
+ {s,sp = table {
Sg => \\_,_ => genderForms ["den der"] ["det der"] ;
Pl => \\_,_,_ => ["de der"]
} ;
@@ -82,7 +81,7 @@ concrete StructuralDan of Structural = CatDan **
therefore_PConj = ss "derfor" ;
they_Pron = MorphoDan.mkNP "de" "dem" "deres" "deres" "deres" Plg P1 ;
this_Quant =
- {s = table {
+ {s,sp = table {
Sg => \\_,_ => genderForms ["denne"] ["dette"] ;
Pl => \\_,_,_ => ["disse"]
} ;
diff --git a/next-lib/src/norwegian/DiffNor.gf b/next-lib/src/norwegian/DiffNor.gf
index 3723369f2..6cfdf6fa4 100644
--- a/next-lib/src/norwegian/DiffNor.gf
+++ b/next-lib/src/norwegian/DiffNor.gf
@@ -43,6 +43,7 @@ instance DiffNor of DiffScand = open CommonScand, Prelude in {
Utr Fem => "ei" ;
Neutr => "et"
} ;
+ detIndefPl = "noen" ;
verbHave =
mkVerb "ha" "har" "ha" "hadde" "hatt" "haven" "havet" "havne"
diff --git a/next-lib/src/norwegian/StructuralNor.gf b/next-lib/src/norwegian/StructuralNor.gf
index b480ff1a1..c7ee5b237 100644
--- a/next-lib/src/norwegian/StructuralNor.gf
+++ b/next-lib/src/norwegian/StructuralNor.gf
@@ -25,10 +25,10 @@ concrete StructuralNor of Structural = CatNor **
during_Prep = ss "under" ;
either7or_DConj = sd2 "enten" "eller" ** {n = Sg} ;
everybody_NP = regNP "alle" "alles" Plg ;
- every_Det = {s = \\_,_ => "hver" ; n = Sg ; det = DDef Indef} ;
+ every_Det = {s = \\_,_ => "hver" ; sp = \\_,_ =>"enhver" ; n = Sg ; det = DDef Indef} ;
everything_NP = regNP "alt" "alts" SgNeutr ;
everywhere_Adv = ss "overalt" ;
- few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
+ few_Det = {s,sp = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
--- first_Ord = {s = "første" ; isDet = True} ; DEPREC
for_Prep = ss "for" ;
from_Prep = ss "fra" ;
@@ -45,10 +45,10 @@ concrete StructuralNor of Structural = CatNor **
in_Prep = ss "i" ;
it_Pron = MorphoNor.regNP "det" "dets" SgNeutr ;
less_CAdv = X.mkCAdv "mindre" conjThan ;
- many_Det = {s = \\_,_ => "mange" ; n = Pl ; det = DDef Indef} ;
+ many_Det = {s,sp = \\_,_ => "mange" ; n = Pl ; det = DDef Indef} ;
more_CAdv = X.mkCAdv "mer" conjThan ;
most_Predet = {s = gennumForms ["den meste"] ["det meste"] ["de fleste"]} ;
- much_Det = {s = \\_,_ => "mye" ; n = Pl ; det = DDef Indef} ;
+ much_Det = {s,sp = \\_,_ => "mye" ; n = Pl ; det = DDef Indef} ;
must_VV =
mkV "måtte" "må" "må" "måtte" "måttet" "mått" **
{c2 = mkComplement [] ; lock_VV = <>} ;
@@ -64,13 +64,13 @@ concrete StructuralNor of Structural = CatNor **
quite_Adv = ss "temmelig" ;
she_Pron = MorphoNor.mkNP "hun" "henne" "hennes" "hennes" "hennes" SgUtr P3 ;
so_AdA = ss "så" ;
- someSg_Det = {s = \\_ => genderForms "noen" "noe" ; n = Sg ; det = DIndef} ;
- somePl_Det = {s = \\_,_ => "noen" ; n = Pl ; det = DIndef} ;
+ someSg_Det = {s,sp = \\_ => genderForms "noen" "noe" ; n = Sg ; det = DIndef} ;
+ somePl_Det = {s,sp = \\_,_ => "noen" ; n = Pl ; det = DIndef} ;
somebody_NP = regNP "noen" "noens" SgUtr ;
something_NP = regNP "noe" "noes" SgNeutr ;
somewhere_Adv = ss ["et eller annet sted"] ; ---- ?
that_Quant =
- {s = table {
+ {s,sp = table {
Sg => \\_,_ => genderForms ["den der"] ["det der"] ;
Pl => \\_,_,_ => ["de der"]
} ;
@@ -82,7 +82,7 @@ concrete StructuralNor of Structural = CatNor **
therefore_PConj = ss "derfor" ;
they_Pron = MorphoNor.mkNP "de" "dem" "deres" "deres" "deres" Plg P1 ;
this_Quant =
- {s = table {
+ {s,sp = table {
Sg => \\_,_ => genderForms ["denne"] ["dette"] ;
Pl => \\_,_,_ => ["disse"]
} ;
diff --git a/next-lib/src/scandinavian/CatScand.gf b/next-lib/src/scandinavian/CatScand.gf
index 3b55f755f..6b9b34b47 100644
--- a/next-lib/src/scandinavian/CatScand.gf
+++ b/next-lib/src/scandinavian/CatScand.gf
@@ -68,8 +68,8 @@ incomplete concrete CatScand of Cat =
CN = {s : Number => DetSpecies => Case => Str ; g : Gender ; isMod : Bool} ;
NP,Pron = {s : NPForm => Str ; a : Agr} ;
- Det = {s : Bool => Gender => Str ; n : Number ; det : DetSpecies} ;
- Quant = {s : Number => Bool => Bool => Gender => Str ; det : DetSpecies} ;
+ Det = {s,sp : Bool => Gender => Str ; n : Number ; det : DetSpecies} ;
+ Quant = {s,sp : Number => Bool => Bool => Gender => Str ; det : DetSpecies} ;
Predet = {s : GenNum => Str} ;
Num = {s : Gender => Str ; isDet : Bool ; n : Number} ;
Card = {s : Gender => Str ; n : Number} ;
diff --git a/next-lib/src/scandinavian/DiffScand.gf b/next-lib/src/scandinavian/DiffScand.gf
index e288be677..7b1e6b319 100644
--- a/next-lib/src/scandinavian/DiffScand.gf
+++ b/next-lib/src/scandinavian/DiffScand.gf
@@ -34,6 +34,7 @@ interface DiffScand = open CommonScand, Prelude in {
subjIf : Str ;
artIndef : Gender => Str ;
+ detIndefPl : Str ;
verbHave : Verb ;
verbBe : Verb ;
diff --git a/next-lib/src/scandinavian/NounScand.gf b/next-lib/src/scandinavian/NounScand.gf
index 06a34be57..bbb1f3a0c 100644
--- a/next-lib/src/scandinavian/NounScand.gf
+++ b/next-lib/src/scandinavian/NounScand.gf
@@ -48,6 +48,8 @@ incomplete concrete NounScand of Noun =
DetQuantOrd quant num ord = {
s = \\b,g => quant.s ! num.n ! b ! (orB b num.isDet) ! g ++
num.s ! g ++ ord.s ;
+ sp = \\b,g => quant.s ! num.n ! b ! (orB b num.isDet) ! g ++
+ num.s ! g ++ ord.s ;
n = num.n ;
det = quant.det
} ;
@@ -56,11 +58,14 @@ incomplete concrete NounScand of Noun =
let
md : Bool -> Bool = \b -> case quant.det of {
DDef _ => orB b num.isDet ;
+ DIndef => num.isDet ;
_ => False
}
in {
s = \\b,g => quant.s ! num.n ! b ! md b ! g ++
num.s ! g ;
+ sp = \\b,g => quant.sp ! num.n ! b ! md b ! g ++
+ num.s ! g ;
n = num.n ;
det = quant.det
} ;
@@ -70,12 +75,12 @@ incomplete concrete NounScand of Noun =
g = Neutr ; ----
m = True ; ---- is this needed for other than Art?
in {
- s = \\c => det.s ! m ! g ;
+ s = \\c => det.sp ! m ! g ;
a = agrP3 g det.n
} ;
PossPron p = {
- s = \\n,_,_,g => p.s ! NPPoss (gennum g n) ;
+ s,sp = \\n,_,_,g => p.s ! NPPoss (gennum g n) ;
det = DDef Indef
} ;
@@ -101,7 +106,8 @@ incomplete concrete NounScand of Noun =
} ;
DefArt = {
- s = \\n,bm,bn,g => if_then_Str (orB bm bn) (artDef (gennum g n)) [] ;
+ s = \\n,bm,bn,g => if_then_Str (orB bm bn) (artDef (gennum g n)) [] ;
+ sp = \\n,bm,bn,g => artDef (gennum g n) ;
det = DDef Def
} ;
@@ -110,6 +116,10 @@ incomplete concrete NounScand of Noun =
Sg => \\_,bn,g => if_then_Str bn [] (artIndef ! g) ;
Pl => \\_,bn,_ => []
} ;
+ sp = table {
+ Sg => \\_,bn,g => artIndef ! g ;
+ Pl => \\_,bn,_ => detIndefPl
+ } ;
det = DIndef
} ;
diff --git a/next-lib/src/swedish/DiffSwe.gf b/next-lib/src/swedish/DiffSwe.gf
index 97d9fa9cd..307df2ccb 100644
--- a/next-lib/src/swedish/DiffSwe.gf
+++ b/next-lib/src/swedish/DiffSwe.gf
@@ -52,6 +52,7 @@ instance DiffSwe of DiffScand = open CommonScand, Prelude in {
Utr => "en" ;
Neutr => "ett"
} ;
+ detIndefPl = "några" ;
verbHave =
mkVerb "ha" "har" "ha" "hade" "haft" "havd" "havt" "havda" ** noPart ;
diff --git a/next-lib/src/swedish/StructuralSwe.gf b/next-lib/src/swedish/StructuralSwe.gf
index 21af94fa6..1ec38c245 100644
--- a/next-lib/src/swedish/StructuralSwe.gf
+++ b/next-lib/src/swedish/StructuralSwe.gf
@@ -25,10 +25,15 @@ concrete StructuralSwe of Structural = CatSwe **
during_Prep = ss "under" ;
either7or_DConj = sd2 "antingen" "eller" ** {n = Sg} ;
everybody_NP = regNP "alla" "allas" Plg ;
- every_Det = {s = \\_,_ => "varje" ; n = Sg ; det = DIndef} ;
+ every_Det = {
+ s = \\_,_ => "varje" ;
+ sp = \\_,_ => "var och en" ; ----
+ n = Sg ;
+ det = DIndef
+ } ;
everything_NP = regNP "allting" "alltings" SgNeutr ;
everywhere_Adv = ss "överallt" ;
- few_Det = {s = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
+ few_Det = {s,sp = \\_,_ => "få" ; n = Pl ; det = DDef Indef} ;
--- first_Ord = {s = "första" ; isDet = True} ;
for_Prep = ss "för" ;
from_Prep = ss "från" ;
@@ -44,10 +49,10 @@ concrete StructuralSwe of Structural = CatSwe **
in_Prep = ss "i" ;
it_Pron = MorphoSwe.regNP "det" "dess" SgNeutr ;
less_CAdv = X.mkCAdv "mindre" "än" ;
- many_Det = {s = \\_,_ => "många" ; n = Pl ; det = DDef Indef} ;
+ many_Det = {s,sp = \\_,_ => "många" ; n = Pl ; det = DDef Indef} ;
more_CAdv = X.mkCAdv "mer" "än" ;
most_Predet = {s = gennumForms ["den mesta"] ["det mesta"] ["de flesta"]} ;
- much_Det = {s = \\_,_ => "mycket" ; n = Pl ; det = DDef Indef} ;
+ much_Det = {s,sp = \\_,_ => "mycket" ; n = Pl ; det = DDef Indef} ;
must_VV =
mkV "få" "måste" "få" "fick" "måst" "måst" **
{c2 = mkComplement [] ; lock_VV = <>} ;
@@ -63,13 +68,13 @@ concrete StructuralSwe of Structural = CatSwe **
quite_Adv = ss "ganska" ;
she_Pron = MorphoSwe.mkNP "hon" "henne" "hennes" "hennes" "hennes" SgUtr P3 ;
so_AdA = ss "så" ;
- someSg_Det = {s = \\_ => genderForms "någon" "något" ; n = Sg ; det = DIndef} ;
- somePl_Det = {s = \\_,_ => "några" ; n = Pl ; det = DIndef} ;
+ someSg_Det = {s,sp = \\_ => genderForms "någon" "något" ; n = Sg ; det = DIndef} ;
+ somePl_Det = {s,sp = \\_,_ => "några" ; n = Pl ; det = DIndef} ;
somebody_NP = regNP "någon" "någons" SgUtr ;
something_NP = regNP "något" "någots" SgNeutr ;
somewhere_Adv = ss "någonstans" ;
that_Quant =
- {s = table {
+ {s,sp = table {
Sg => \\_,_ => genderForms ["den där"] ["det där"] ;
Pl => \\_,_,_ => ["de där"]
} ;
@@ -81,7 +86,7 @@ concrete StructuralSwe of Structural = CatSwe **
therefore_PConj = ss "därför" ;
they_Pron = MorphoSwe.mkNP "de" "dem" "deras" "deras" "deras" Plg P1 ;
this_Quant =
- {s = table {
+ {s,sp = table {
Sg => \\_,_ => genderForms ["den här"] ["det här"] ;
Pl => \\_,_,_ => ["de här"]
} ;
@@ -126,7 +131,7 @@ concrete StructuralSwe of Structural = CatSwe **
lin
not_Predet = {s = \\_ => "inte"} ;
no_Quant =
- {s = table {
+ {s,sp = table {
Sg => \\_,_ => genderForms "ingen" "inget" ;
Pl => \\_,_,_ => "inga"
} ;