forked from GitHub/gf-core
sibstantival det forms in scandinavian
This commit is contained in:
@@ -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" **
|
||||
|
||||
@@ -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"]
|
||||
} ;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"]
|
||||
} ;
|
||||
|
||||
@@ -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} ;
|
||||
|
||||
@@ -34,6 +34,7 @@ interface DiffScand = open CommonScand, Prelude in {
|
||||
subjIf : Str ;
|
||||
|
||||
artIndef : Gender => Str ;
|
||||
detIndefPl : Str ;
|
||||
|
||||
verbHave : Verb ;
|
||||
verbBe : Verb ;
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
|
||||
@@ -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 ;
|
||||
|
||||
@@ -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"
|
||||
} ;
|
||||
|
||||
Reference in New Issue
Block a user