1
0
forked from GitHub/gf-core

Finnish object cases in lexicon and Paradigms

This commit is contained in:
aarne
2007-07-08 13:24:22 +00:00
parent 3fbeeca121
commit 58f3387609
2 changed files with 44 additions and 33 deletions

View File

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

View File

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