forked from GitHub/gf-core
Finnish object cases in lexicon and Paradigms
This commit is contained in:
@@ -91,7 +91,7 @@ lin
|
||||
go_V = regV "mennä" ;
|
||||
green_A = mkADeg (regN "vihreä") "vihreämpi" "vihrein" ;
|
||||
harbour_N = nKukko "satama" "sataman" "satamia" ;
|
||||
hate_V2 = dirV2 (regV "vihata") ;
|
||||
hate_V2 = mkV2 (regV "vihata") cpartitive ;
|
||||
hat_N = nLukko "hattu" ;
|
||||
have_V2 = dirV2 (caseV adessive vOlla) ;
|
||||
hear_V2 = dirV2 (regV "kuulla") ;
|
||||
@@ -142,7 +142,7 @@ lin
|
||||
pen_N = nLukko "kynä" ;
|
||||
planet_N = nLukko "planeetta" ;
|
||||
plastic_N = regN "muovi" ;
|
||||
play_V2 = dirV2 (regV "pelata") ; --- leikkiä, soittaa
|
||||
play_V2 = mkV2 (regV "pelata") cpartitive ; --- leikkiä, soittaa
|
||||
policeman_N = regN "poliisi" ;
|
||||
priest_N = regN "pappi" ;
|
||||
probable_AS = mkAS (mkA (nNainen "todennäköistä")) ; --- for vowel harmony
|
||||
@@ -162,7 +162,7 @@ lin
|
||||
school_N = nLukko "koulu" ;
|
||||
science_N = regN "tiede" ;
|
||||
sea_N = nMeri "meri" ;
|
||||
seek_V2 = dirV2 (regV "etsiä") ;
|
||||
seek_V2 = mkV2 (regV "etsiä") cpartitive ;
|
||||
see_V2 = dirV2 (
|
||||
mk12V "nähdä" "näkee" "näen" "näkevät" "nähkää" "nähdään"
|
||||
"näki" "näin" "näkisi" "nähnyt" "nähty" "nähdyn") ;
|
||||
@@ -180,7 +180,7 @@ lin
|
||||
small_A = mkADeg (reg2N "pieni" "pieniä") "pienempi" "pienin" ;
|
||||
snake_N = regN "käärme" ;
|
||||
sock_N = nLukko "sukka" ;
|
||||
speak_V2 = dirV2 (regV "puhua") ;
|
||||
speak_V2 = mkV2 (regV "puhua") cpartitive ;
|
||||
star_N = nSylki "tähti" ;
|
||||
steel_N = regN "teräs" ;
|
||||
stone_N = nSylki "kivi" ;
|
||||
@@ -213,7 +213,7 @@ lin
|
||||
)
|
||||
"lämpimämpi" "lämpimin" ;
|
||||
war_N = nLukko "sota" ;
|
||||
watch_V2 = dirV2 (regV "katsella") ;
|
||||
watch_V2 = mkV2 (regV "katsella") cpartitive ;
|
||||
water_N = reg3N "vesi" "veden" "vesiä" ;
|
||||
white_A = regA "valkoinen" ;
|
||||
window_N = reg2N "ikkuna" "ikkunoita" ;
|
||||
@@ -325,35 +325,35 @@ lin
|
||||
cut_V2 = dirV2 (reg2V "leikata" "leikkasi") ;
|
||||
dig_V = regV "kaivaa" ;
|
||||
fall_V = reg3V "pudota" "putoan" "putosi" ;
|
||||
fear_V2 = dirV2 (reg3V "pelätä" "pelkään" "pelkäsi") ;
|
||||
fight_V2 = dirV2 (regV "taistella") ;
|
||||
fear_V2 = mkV2 (reg3V "pelätä" "pelkään" "pelkäsi") cpartitive ;
|
||||
fight_V2 = mkV2 (regV "taistella") (postPrep partitive "vastaan") ;
|
||||
float_V = regV "kellua" ;
|
||||
flow_V = reg3V "virrata" "virtaan" "virtasi" ;
|
||||
fly_V = regV "lentää" ;
|
||||
freeze_V = regV "jäätyä" ;
|
||||
give_V3 = dirdirV3 (reg3V "antaa" "annan" "antoi") ;
|
||||
hit_V2 = dirV2 (regV "lyödä") ;
|
||||
hold_V2 = dirV2 (regV "pitää") ;
|
||||
hunt_V2 = dirV2 (regV "metsästää") ;
|
||||
hit_V2 = mkV2 (regV "lyödä") cpartitive ;
|
||||
hold_V2 = mkV2 (regV "pitää") cpartitive ;
|
||||
hunt_V2 = mkV2 (regV "metsästää") cpartitive ;
|
||||
kill_V2 = dirV2 (regV "tappaa") ;
|
||||
laugh_V = reg3V "nauraa" "nauran" "nauroi" ;
|
||||
lie_V = reg3V "maata" "makaan" "makasi" ;
|
||||
play_V = regV "pelata" ;
|
||||
pull_V2 = dirV2 (regV "vetää") ;
|
||||
push_V2 = dirV2 (regV "työntää") ;
|
||||
rub_V2 = dirV2 (regV "hieroa") ;
|
||||
scratch_V2 = dirV2 (regV "raapia") ;
|
||||
rub_V2 = mkV2 (regV "hieroa") cpartitive ;
|
||||
scratch_V2 = mkV2 (regV "raapia") cpartitive ;
|
||||
sew_V = regV "kylvää" ;
|
||||
sing_V = regV "laulaa" ;
|
||||
sit_V = regV "istua" ;
|
||||
smell_V = reg2V "haistaa" "haistoi" ;
|
||||
spit_V = regV "sylkeä" ;
|
||||
split_V2 = dirV2 (reg2V "halkaista" "halkaisi") ;
|
||||
squeeze_V2 = dirV2 (regV "puristaa") ;
|
||||
stab_V2 = dirV2 (regV "pistää") ;
|
||||
squeeze_V2 = mkV2 (regV "puristaa") cpartitive ;
|
||||
stab_V2 = mkV2 (regV "pistää") cpartitive ;
|
||||
stand_V = mk12V "seistä" "seisoo" "seison" "seisovat" "seiskää" "seistään"
|
||||
"seisoi" "seisoin" "seisoisi" "seissyt" "seisty" "seistyn" ; --- *seisoivät
|
||||
suck_V2 = dirV2 (regV "imeä") ;
|
||||
suck_V2 = mkV2 (regV "imeä") cpartitive ;
|
||||
swell_V = mk12V "turvota" "turpoaa" "turpoan" "turpoavat" "turvotkaa" "turvotaan"
|
||||
"turposi" "turposin" "turpoaisi" "turvonnut" "turvottu" "turvotun" ;
|
||||
swim_V = reg3V "uida" "uin" "ui" ;
|
||||
@@ -381,5 +381,6 @@ lin
|
||||
oper
|
||||
mkOrd : N -> Ord ;
|
||||
mkOrd x = {s = \\n,c => x.s ! NCase n c; lock_Ord = <> } ;
|
||||
cpartitive = casePrep partitive ;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -285,19 +285,17 @@ oper
|
||||
|
||||
--3 Two-place verbs
|
||||
--
|
||||
-- Two-place verbs need a case, and can have a pre- or postposition.
|
||||
-- Two-place verbs need an object case, and can have a pre- or postposition.
|
||||
-- The default is direct (accusative) object. There is also a special case
|
||||
-- with case only. The string-only argument case yields a regular verb with
|
||||
-- accusative object.
|
||||
|
||||
mkV2 : V -> Prep -> V2 ;
|
||||
|
||||
-- If the complement needs just a case, the following special function can be used.
|
||||
|
||||
caseV2 : V -> Case -> V2 ;
|
||||
|
||||
-- Verbs with a direct (accusative) object
|
||||
-- are special, since their complement case is finally decided in syntax.
|
||||
-- But this is taken care of in $VerbFin$.
|
||||
|
||||
dirV2 : V -> V2 ;
|
||||
mkV2 : overload {
|
||||
mkV2 : Str -> V2 ;
|
||||
mkV2 : V -> V2 ;
|
||||
mkV2 : V -> Case -> V2 ;
|
||||
mkV2 : V -> Prep -> V2 ;
|
||||
} ;
|
||||
|
||||
|
||||
--3 Three-place verbs
|
||||
@@ -557,9 +555,9 @@ reg3N = \vesi,veden,vesi
|
||||
v2v (MorphoFin.vHuoltaa ottaa otan otti otin) ** {sc = NPCase Nom ; lock_V = <>} ;
|
||||
|
||||
|
||||
mkV2 = \v,c -> v ** {c2 = c ; lock_V2 = <>} ;
|
||||
caseV2 = \v,c -> mkV2 v (casePrep c) ;
|
||||
dirV2 v = mkV2 v accPrep ;
|
||||
mk2V2 = \v,c -> v ** {c2 = c ; lock_V2 = <>} ;
|
||||
caseV2 = \v,c -> mk2V2 v (casePrep c) ;
|
||||
dirV2 v = mk2V2 v accPrep ;
|
||||
|
||||
mkAdv : Str -> Adv = \s -> {s = s ; lock_Adv = <>} ;
|
||||
|
||||
@@ -578,11 +576,11 @@ reg3N = \vesi,veden,vesi
|
||||
A2V : Type = A2 ;
|
||||
|
||||
mkV0 v = v ** {lock_V = <>} ;
|
||||
mkV2S v p = mkV2 v p ** {lock_V2 = <>} ;
|
||||
mkV2V v p = mkV2 v p ** {lock_V2 = <>} ;
|
||||
mkV2S v p = mk2V2 v p ** {lock_V2 = <>} ;
|
||||
mkV2V v p = mk2V2 v p ** {lock_V2 = <>} ;
|
||||
mkVA v p = v ** {c2 = p ; lock_VA = <>} ;
|
||||
mkV2A v p q = v ** {c2 = p ; c3 = q ; lock_V2A = <>} ;
|
||||
mkV2Q v p = mkV2 v p ** {lock_V2 = <>} ;
|
||||
mkV2Q v p = mk2V2 v p ** {lock_V2 = <>} ;
|
||||
|
||||
mkAS v = v ** {lock_A = <>} ;
|
||||
mkA2S v p = mkA2 v p ** {lock_A = <>} ;
|
||||
@@ -624,4 +622,16 @@ reg3N = \vesi,veden,vesi
|
||||
|
||||
regPN : Str -> PN ;
|
||||
|
||||
mkV2 = overload {
|
||||
mkV2 : Str -> V2 = \s -> dirV2 (regV s) ;
|
||||
mkV2 : V -> V2 = dirV2 ;
|
||||
mkV2 : V -> Case -> V2 = caseV2 ;
|
||||
mkV2 : V -> Prep -> V2 = mk2V2 ;
|
||||
} ;
|
||||
|
||||
dirV2 : V -> V2 ;
|
||||
mk2V2 : V -> Prep -> V2 ;
|
||||
caseV2 : V -> Case -> V2 ;
|
||||
dirV2 : V -> V2 ;
|
||||
|
||||
} ;
|
||||
|
||||
Reference in New Issue
Block a user