DictionarySpa with 21k lemmas from Wiktionary. Many guesses both in morphology and semantics, as usual.

This commit is contained in:
aarne
2014-03-14 08:22:04 +00:00
parent e1a558fc7d
commit 55b4af9e1b
2 changed files with 21355 additions and 11 deletions

View File

@@ -247,7 +247,11 @@ oper
-- Three-place (ditransitive) verbs need two prepositions, of which
-- the first one or both can be absent.
mkV3 : V -> Prep -> Prep -> V3 ; -- e.g. hablar, a, di
mkV3 : overload {
mkV3 : V -> V3 ; -- donner (+ accusative + dative)
mkV3 : V -> Prep -> V3 ; -- placer (+ accusative) + dans
mkV3 : V -> Prep -> Prep -> V3 -- parler + dative + genitive
} ;
dirV3 : V -> Prep -> V3 ; -- e.g. dar,(accusative),a
dirdirV3 : V -> V3 ; -- e.g. dar,(dative),(accusative)
@@ -258,15 +262,28 @@ oper
mkV0 : V -> V0 ; --%
mkVS : V -> VS ;
mkV2S : V -> Prep -> V2S ;
mkVV : V -> VV ; -- plain infinitive: "quiero hablar"
deVV : V -> VV ; -- "terminar de hablar"
aVV : V -> VV ; -- "aprender a hablar"
mkV2V : V -> Prep -> Prep -> V2V ;
mkVA : V -> VA ;
mkV2A : V -> Prep -> Prep -> V2A ;
mkVQ : V -> VQ ;
mkV2Q : V -> Prep -> V2Q ;
mkV2S : overload {
mkV2S : V -> V2S ;
mkV2S : V -> Prep -> V2S ;
} ;
mkV2V : overload {
mkV2V : V -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ;
} ;
mkV2A : overload {
mkV2A : V -> V2A ;
mkV2A : V -> Prep -> Prep -> V2A ;
} ;
mkAS : A -> AS ; --%
mkA2S : A -> Prep -> A2S ; --%
@@ -392,24 +409,50 @@ oper
dirV2 v = mk2V2 v accusative ;
v2V v = v ** {lock_V = <>} ;
mkV3 v p q = {s = v.s ; vtyp = v.vtyp ;
c2 = p ; c3 = q ; lock_V3 = <>} ;
dirV3 v p = mkV3 v accusative p ;
mmkV3 : V -> Prep -> Prep -> V3 ; -- parler, à, de
mmkV3 v p q = v ** {c2 = p ; c3 = q ; lock_V3 = <>} ;
dirV3 v p = mmkV3 v accusative p ;
dirdirV3 v = dirV3 v dative ;
mmkV2 : V -> Prep -> V2 ;
mmkV2 v p = v ** {c2 = p ; lock_V2 = <>} ;
mkV3 = overload {
mkV3 : V -> V3 = dirdirV3 ; -- donner,_,_
mkV3 : V -> Prep -> V3 = dirV3 ; -- placer,_,sur
mkV3 : V -> Prep -> Prep -> V3 = mmkV3 -- parler, à, de
} ;
mkV2S = overload {
mkV2S : V -> V2S = \v -> mmkV2 v dative ** {mn,mp = Indic ; lock_V2S = <>} ;
mkV2S : V -> Prep -> V2S = \v,p -> mmkV2 v p ** {mn,mp = Indic ; lock_V2S = <>} ;
} ;
mkV2V = overload {
mkV2V : V -> V2V = \v -> mmkV3 v accusative dative ** {lock_V2V = <>} ;
mkV2V : V -> Prep -> Prep -> V2V = \v,p,q -> mmkV3 v p q ** {lock_V2V = <>} ;
} ;
mkV2A = overload {
mkV2A : V -> V2A = \v -> mmkV3 v accusative dative ** {lock_V2A = <>} ;
mkV2A : V -> Prep -> Prep -> V2A = \v,p,q -> mmkV3 v p q ** {lock_V2A = <>} ;
} ;
V0 : Type = V ;
AS, AV : Type = A ;
A2S, A2V : Type = A2 ;
mkV0 v = v ** {lock_V0 = <>} ;
mkVS v = v ** {m = \\_ => Indic ; lock_VS = <>} ; ---- more moods
mkV2S v p = mk2V2 v p ** {mn,mp = Indic ; lock_V2S = <>} ;
mkVV v = v ** {c2 = complAcc ; lock_VV = <>} ;
deVV v = v ** {c2 = complGen ; lock_VV = <>} ;
aVV v = v ** {c2 = complDat ; lock_VV = <>} ;
mkV2V v p t = mkV3 v p t ** {lock_V2V = <>} ;
mkVA v = v ** {lock_VA = <>} ;
mkV2A v p q = mkV3 v p q ** {lock_V2A = <>} ;
mkVQ v = v ** {lock_VQ = <>} ;
mkV2Q v p = mk2V2 v p ** {lock_V2Q = <>} ;
@@ -462,7 +505,9 @@ oper
mkV = overload {
mkV : (pagar : Str) -> V = regV ;
mkV : (mostrar,muestro : Str) -> V = regAltV ;
mkV : Verbum -> V = verboV
mkV : Verbum -> V = verboV ;
mkV : V -> Str -> V = \v,_ -> v ; ---- to recognize particles in dict, not yet in lincat V
} ;
regV : Str -> V ;
regAltV : (mostrar,muestro : Str) -> V ;

File diff suppressed because it is too large Load Diff