1
0
forked from GitHub/gf-core

sibstantival det forms in scandinavian

This commit is contained in:
aarne
2008-12-02 08:22:32 +00:00
parent 80d6d61cc4
commit 683a776f83
9 changed files with 49 additions and 31 deletions

View File

@@ -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" **

View File

@@ -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"]
} ;

View File

@@ -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"

View File

@@ -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"]
} ;

View File

@@ -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} ;

View File

@@ -34,6 +34,7 @@ interface DiffScand = open CommonScand, Prelude in {
subjIf : Str ;
artIndef : Gender => Str ;
detIndefPl : Str ;
verbHave : Verb ;
verbBe : Verb ;

View File

@@ -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
} ;

View File

@@ -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 ;

View File

@@ -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"
} ;