mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
added present participles to Scandinavian verbs
This commit is contained in:
@@ -36,14 +36,14 @@ instance DiffDan of DiffScand = open CommonScand, Prelude in {
|
||||
detIndefPl = "nogle" ;
|
||||
|
||||
verbHave =
|
||||
mkVerb "have" "har" "hav" "havde" "haft" "haven" "havet" "havne" **
|
||||
mkVerb9 "have" "har" "hav" "havde" "haft" "haven" "havet" "havne" "havende" **
|
||||
{part = [] ; isVaere = False} ;
|
||||
verbBe =
|
||||
mkVerb "være" "er" "var" "var" "været" "væren" "været" "værne" **
|
||||
mkVerb9 "være" "er" "var" "var" "været" "væren" "været" "værne" "værende" **
|
||||
{part = [] ; isVaere = False} ;
|
||||
verbBecome =
|
||||
mkVerb "blive" "bliver" "bliv" "blev" "blevet"
|
||||
"bliven" "blivet" "blivne" **
|
||||
mkVerb9 "blive" "bliver" "bliv" "blev" "blevet"
|
||||
"bliven" "blivet" "blivne" "blivende" **
|
||||
{part = [] ; isVaere = True} ;
|
||||
|
||||
auxFut = "vil" ; -- "skal" in ExtDan
|
||||
|
||||
@@ -80,6 +80,11 @@ oper
|
||||
VI (VSupin v) => mkVoice v spist ; --# notpresent
|
||||
VI (VPtPret (Strong (GSg _)) c) => mkCase c spist ;
|
||||
VI (VPtPret _ c) => mkCase c (spist + "e") ;
|
||||
VI (VPtPres c) => case last spise of {
|
||||
"e" => mkCase c (spise + "nde") ;
|
||||
"i" => mkCase c (spise + "vende") ; --- gi, bli
|
||||
_ => mkCase c (spise + "ende")
|
||||
} ;
|
||||
VF (VImper v) => mkVoice v spis
|
||||
}
|
||||
} ;
|
||||
|
||||
@@ -44,13 +44,13 @@ instance DiffNor of DiffScand = open CommonScand, Prelude in {
|
||||
detIndefPl = "noen" ;
|
||||
|
||||
verbHave =
|
||||
mkVerb "ha" "har" "ha" "hadde" "hatt" "haven" "havet" "havne"
|
||||
mkVerb9 "ha" "har" "ha" "hadde" "hatt" "haven" "havet" "havne" "havende"
|
||||
** {part = [] ; isVaere = False} ;
|
||||
verbBe =
|
||||
mkVerb "være" "er" "var" "var" "vært" "væren" "været" "værne"
|
||||
mkVerb9 "være" "er" "var" "var" "vært" "væren" "været" "værne" "værende"
|
||||
** {part = [] ; isVaere = False} ;
|
||||
verbBecome =
|
||||
mkVerb "bli" "blir" "bli" "ble" "blitt" "bliven" "blivet" "blivne"
|
||||
mkVerb9 "bli" "blir" "bli" "ble" "blitt" "bliven" "blivet" "blivne" "blivende"
|
||||
** {part = [] ; isVaere = True} ;
|
||||
|
||||
-- auxiliary
|
||||
|
||||
@@ -94,6 +94,11 @@ oper
|
||||
"a" => mkCase c spist ;
|
||||
_ => mkCase c (spist + "e")
|
||||
} ;
|
||||
VI (VPtPres c) => case last spise of {
|
||||
"e" => mkCase c (spise + "nde") ;
|
||||
"i" => mkCase c (spise + "vende") ; --- gi, bli
|
||||
_ => mkCase c (spise + "ende")
|
||||
} ;
|
||||
VF (VImper v) => mkVoice v spis
|
||||
}
|
||||
} ;
|
||||
|
||||
@@ -56,6 +56,7 @@ param
|
||||
VInfin Voice
|
||||
| VSupin Voice --# notpresent
|
||||
| VPtPret AFormPos Case
|
||||
| VPtPres Case
|
||||
;
|
||||
|
||||
VPForm =
|
||||
@@ -181,8 +182,8 @@ oper
|
||||
}
|
||||
} ;
|
||||
|
||||
mkVerb : (x1,_,_,_,_,_,_,x8 : Str) -> {s : VForm => Str ; vtype : VType} =
|
||||
\finna,finner,finn,fann,funnit,funnen,funnet,funna -> {
|
||||
mkVerb9 : (x1,_,_,_,_,_,_,_,x9 : Str) -> {s : VForm => Str ; vtype : VType} =
|
||||
\finna,finner,finn,fann,funnit,funnen,funnet,funna, finnande -> {
|
||||
s = table {
|
||||
VF (VPres Act) => finner ;
|
||||
VF (VPres Pass) => mkVoice Pass finn ;
|
||||
@@ -190,7 +191,8 @@ oper
|
||||
VF (VImper v) => mkVoice v finn ;
|
||||
VI (VInfin v) => mkVoice v finna ;
|
||||
VI (VSupin v) => mkVoice v funnit ; --# notpresent
|
||||
VI (VPtPret a c)=> mkCase c (mkAdjPos a funnen funnet funna funna)
|
||||
VI (VPtPret a c)=> mkCase c (mkAdjPos a funnen funnet funna funna) ;
|
||||
VI (VPtPres c) => mkCase c finnande
|
||||
} ;
|
||||
vtype = VAct
|
||||
} ;
|
||||
|
||||
@@ -37,12 +37,12 @@ instance DiffSwe of DiffScand = open CommonScand, Prelude in {
|
||||
detIndefPl = "några" ;
|
||||
|
||||
verbHave =
|
||||
mkVerb "ha" "har" "ha" "hade" "haft" "havd" "havt" "havda" ** noPart ;
|
||||
mkVerb9 "ha" "har" "ha" "hade" "haft" "havd" "havt" "havda" "havande" ** noPart ;
|
||||
verbBe =
|
||||
mkVerb "vara" "är" "var" "var" "varit" "varen" "varet" "varna"
|
||||
mkVerb9 "vara" "är" "var" "var" "varit" "varen" "varet" "varna" "varande"
|
||||
** noPart ;
|
||||
verbBecome =
|
||||
mkVerb "bli" "blir" "bli" "blev" "blivit" "bliven" "blivet" "blivna"
|
||||
mkVerb9 "bli" "blir" "bli" "blev" "blivit" "bliven" "blivet" "blivna" "blivande"
|
||||
** noPart ;
|
||||
|
||||
-- auxiliary
|
||||
|
||||
@@ -17,7 +17,7 @@ lin
|
||||
bad_A = irregA "dålig" "sämre" "sämst";
|
||||
bank_N = mk2N "bank" "banker" ;
|
||||
beautiful_A = mk3A "vacker" "vackert" "vackra" ;
|
||||
become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven") ;
|
||||
become_VA = mkVA (mkV "bli" "blir""bli" "blev" "blivit" "bliven" "blivande") ;
|
||||
beer_N = regGenN "öl" neutrum ;
|
||||
beg_V2V = mkV2V (mkV "be" "ber""be" "bad" "bett" "bedd") noPrep (mkPrep "att") ;
|
||||
big_A = irregA "stor" "större" "störst";
|
||||
@@ -316,7 +316,7 @@ lin
|
||||
flow_V = rinna_V ;
|
||||
fly_V = flyga_V ;
|
||||
freeze_V = frysa_V ;
|
||||
give_V3 = dirV3 giva_V (mkPrep "till");
|
||||
give_V3 = dirV3 (mkV "ge" "ger""ge" "gav" "givit" "given" "givande") (mkPrep "till");
|
||||
hit_V2 = dirV2 (slå_V) ;
|
||||
hold_V2 = dirV2 (hålla_V) ;
|
||||
hunt_V2 = dirV2 (regV "jaga") ;
|
||||
|
||||
@@ -538,16 +538,25 @@ oper
|
||||
mkV : (slita, slet : Str) -> V = reg2V ;
|
||||
mkV : (dricka,drack,druckit : Str) -> V = irregV ;
|
||||
mkV : (supa,super,sup,söp,supit,supen : Str) -> V = mk6V ;
|
||||
mkV : (supa,super,sup,söp,supit,supen,supande : Str) -> V = mk7V ;
|
||||
mkV : V -> Str -> V = partV
|
||||
} ;
|
||||
|
||||
mk6V = \finna,finner,finn,fann,funnit,funnen ->
|
||||
let finnande : Str = case finna of {
|
||||
_ + "a" => finna + "nde" ;
|
||||
_ => finna + "ende" -- gående; but bli - blivande must be given separately
|
||||
}
|
||||
in
|
||||
mk7V finna finner finn fann funnit funnen finnande ;
|
||||
|
||||
mk7V = \finna,finner,finn,fann,funnit,funnen,finnande ->
|
||||
let
|
||||
funn = ptPretForms funnen ;
|
||||
funnet = funn ! Strong (GSg Neutr) ! Nom ;
|
||||
funna = funn ! Strong GPl ! Nom
|
||||
in
|
||||
mkVerb finna finner finn fann funnit funnen funnet funna **
|
||||
mkVerb9 finna finner finn fann funnit funnen funnet funna finnande **
|
||||
{part = [] ; vtype=VAct ; lock_V = <>} ;
|
||||
|
||||
regV leker = case leker of {
|
||||
@@ -720,6 +729,7 @@ oper
|
||||
mk3cA : (galen,galet,galna : Str) -> Bool -> A =
|
||||
\x,y,z,b -> lin A {s = (mk3A x y z).s ; isComp = b} ;
|
||||
|
||||
mk7V : (supa,super,sup,söp,supit,supen,supande : Str) -> V ;
|
||||
mk6V : (supa,super,sup,söp,supit,supen : Str) -> V ;
|
||||
regV : (talar : Str) -> V ;
|
||||
mk2V : (leka,lekte : Str) -> V ;
|
||||
|
||||
Reference in New Issue
Block a user