forked from GitHub/gf-core
Latvian: miscellaneous
This commit is contained in:
@@ -77,7 +77,7 @@ lincat
|
||||
N3 = { s : Number => Case => Str ; g : Gender } ** { p1, p2 : ResLav.Prep ; isPre1, isPre2 : Bool } ;
|
||||
PN = { s : Case => Str ; g : Gender ; n : Number } ;
|
||||
|
||||
A = { s : AForm => Str } ;
|
||||
A = { s : ResLav.AForm => Str } ;
|
||||
A2 = A ** { p : ResLav.Prep } ;
|
||||
|
||||
V, VA = Verb ;
|
||||
|
||||
@@ -1,17 +1,27 @@
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
concrete ExtraLav of ExtraLavAbs = CatLav ** open
|
||||
concrete ExtraLav of ExtraLavAbs = CatLav ** open
|
||||
ParadigmsLav,
|
||||
ParadigmsPronounsLav,
|
||||
ResLav
|
||||
ResLav,
|
||||
Prelude
|
||||
in {
|
||||
|
||||
flags
|
||||
coding = utf8 ;
|
||||
|
||||
lin
|
||||
to8uz_Prep = mkPrep "uz" Acc Dat ;
|
||||
|
||||
aiz_Prep = mkPrep "aiz" Gen Dat ;
|
||||
ap_Prep = mkPrep "ap" Acc Dat ;
|
||||
gar_Prep = mkPrep "gar" Acc Dat ;
|
||||
kopsh_Prep = mkPrep "kopš" Gen Dat ;
|
||||
liidz_Prep = mkPrep "līdz" Dat Dat ;
|
||||
pa_Prep = mkPrep "pa" Acc Dat ;
|
||||
par_Prep = mkPrep "par" Acc Dat ;
|
||||
paar_Prep = mkPrep "pār" Acc Dat ;
|
||||
pie_Prep = mkPrep "pie" Gen Dat ;
|
||||
pret_Prep = mkPrep "pret" Acc Dat ;
|
||||
|
||||
i8fem_Pron = mkPronoun_I Fem ;
|
||||
we8fem_Pron = mkPronoun_We Fem ;
|
||||
|
||||
@@ -21,7 +31,14 @@ lin
|
||||
|
||||
they8fem_Pron = mkPronoun_They Fem ;
|
||||
it8fem_Pron = mkPronoun_It_Sg Fem ;
|
||||
|
||||
|
||||
{-empty_Det num def neg = \num,def,neg -> {
|
||||
s = \\_,_ => [] ;
|
||||
n = num ;
|
||||
d = def ;
|
||||
isNeg = neg
|
||||
} ;-}
|
||||
|
||||
-- Zemāk esošās f-cijas nav ExtraLavAbs, tās ir abstract/Extra.gf
|
||||
|
||||
GenNP np = {s = \\_,_,_ => np.s ! Gen ; d = Def ; isNeg = np.isNeg} ;
|
||||
@@ -31,5 +48,4 @@ lin
|
||||
IAdvAdv adv = {s = "cik" ++ adv.s} ;
|
||||
|
||||
have_V3 = mkV3 (mkV "būt") nom_Prep dat_Prep Dat ;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,17 @@
|
||||
--# -path=.:../abstract:../common:../prelude
|
||||
|
||||
abstract ExtraLavAbs = Extra ** {
|
||||
abstract ExtraLavAbs = Extra ** open ResLav, Prelude in {
|
||||
fun
|
||||
to8uz_Prep : Prep ; -- "to" in the sense of "uz" (direction)
|
||||
aiz_Prep : Prep ;
|
||||
ap_Prep : Prep ;
|
||||
gar_Prep : Prep ;
|
||||
kopsh_Prep : Prep ;
|
||||
liidz_Prep : Prep ;
|
||||
pa_Prep : Prep ;
|
||||
par_Prep : Prep ;
|
||||
paar_Prep : Prep ;
|
||||
pie_Prep : Prep ;
|
||||
pret_Prep : Prep ;
|
||||
|
||||
i8fem_Pron : Pron ;
|
||||
we8fem_Pron : Pron ;
|
||||
@@ -12,5 +21,7 @@ abstract ExtraLavAbs = Extra ** {
|
||||
they8fem_Pron : Pron ;
|
||||
it8fem_Pron : Pron ;
|
||||
|
||||
--empty_Det : Number -> Definite -> Bool -> Det ;
|
||||
|
||||
have_V3 : V3 ;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
concrete LexiconLav of Lexicon = CatLav ** open
|
||||
ParadigmsLav,
|
||||
StructuralLav,
|
||||
ExtraLav,
|
||||
ResLav,
|
||||
Prelude
|
||||
in {
|
||||
@@ -13,8 +14,7 @@ flags
|
||||
|
||||
lin
|
||||
airplane_N = mkN "lidmašīna" ;
|
||||
answer_V2S = mkV2S (mkV "atbildēt" third_conjugation) dat_Prep that_Subj ;
|
||||
-- toP = 'answer to [Person]' = 'atbildēt [kam?]'
|
||||
answer_V2S = mkV2S (mkV "atbildēt" third_conjugation) dat_Prep that_Subj ; -- toP = 'answer to [Person]' = 'atbildēt [kam?]'
|
||||
apartment_N = mkN "dzīvoklis" ;
|
||||
apple_N = mkN "ābols" ;
|
||||
art_N = mkN "māksla" ;
|
||||
@@ -39,8 +39,7 @@ lin
|
||||
bread_N = mkN "maize" ;
|
||||
break_V2 = mkV2 (mkV "lauzt" "laužu" "lauzu") acc_Prep ;
|
||||
broad_A = mkA "plats" ;
|
||||
brother_N2 = mkN2 (mkN "brālis") gen_Prep True;
|
||||
-- Ģenitīvs nav kā piederība, bet kā relācija: "Jāņa/tēva brālis", bet ne "mans brālis" (?)
|
||||
brother_N2 = mkN2 (mkN "brālis") gen_Prep True; -- Ģenitīvs nav kā piederība, bet kā relācija: "Jāņa/tēva brālis", bet ne "mans brālis" (?)
|
||||
brown_A = mkA "brūns" ;
|
||||
butter_N = mkN "sviests" ;
|
||||
buy_V2 = mkV2 (mkV "pirkt" "pērku" "pirku") acc_Prep ;
|
||||
@@ -64,13 +63,13 @@ lin
|
||||
computer_N = mkN "dators" ;
|
||||
country_N = mkN "valsts" ;
|
||||
cousin_N = mkN "brālēns" ; -- FIXME: brālēns/māsīca angļiem ir vienāds...
|
||||
cow_N = mkN "govs" ;
|
||||
cow_N = mkN "govs" feminine ;
|
||||
die_V = mkV "nomirt" "nomirstu" "nomiru";
|
||||
dirty_A = mkA "netīrs" ;
|
||||
distance_N3 = mkN3 (mkN "attālums") from_Prep to_Prep ; -- no / līdz
|
||||
doctor_N = mkN "ārsts" ;
|
||||
dog_N = mkN "suns" ;
|
||||
door_N = mkN "durvis" ;
|
||||
door_N = mkN "durvis" feminine ;
|
||||
drink_V2 = mkV2 (mkV "dzert" "dzeru" "dzēru") acc_Prep;
|
||||
--easy_A2V = mkA2V (regA "easy") forP ; -- FIXME: nav tādas konstrukcijas latviešu val.
|
||||
eat_V2 = mkV2 (mkV "ēst" "ēdu" "ēdu") acc_Prep ;
|
||||
@@ -80,7 +79,7 @@ lin
|
||||
father_N2 = mkN2 (mkN "tēvs") gen_Prep True ;
|
||||
fear_VS = mkVS (mkV "baidīties" third_conjugation) that_Subj ;
|
||||
find_V2 = mkV2 (mkV "atrast" "atrodi" "atradu") acc_Prep ;
|
||||
fish_N = mkN "zivs" ;
|
||||
fish_N = mkN "zivs" feminine ;
|
||||
floor_N = mkN "grīda" ;
|
||||
forget_V2 = mkV2 (mkV "aizmirst" "aizmirstu" "aizmirsu") acc_Prep ;
|
||||
fridge_N = mkN "ledusskapis" ;
|
||||
@@ -252,30 +251,30 @@ lin
|
||||
back_N = mkN "mugura" ;
|
||||
bark_N = mkN "miza" ;
|
||||
belly_N = mkN "vēders" ;
|
||||
blood_N = mkN "asinis" Fem ;
|
||||
blood_N = mkN "asinis" feminine ;
|
||||
bone_N = mkN "kauls" ;
|
||||
breast_N = mkN "krūts" Fem ;
|
||||
breast_N = mkN "krūts" feminine ;
|
||||
cloud_N = mkN "mākonis" ;
|
||||
day_N = mkN "diena" ;
|
||||
dust_N = mkN "putekļi" ;
|
||||
ear_N = mkN "auss" ;
|
||||
ear_N = mkN "auss" feminine ;
|
||||
earth_N = mkN "zeme" ;
|
||||
egg_N = mkN "ola" ;
|
||||
eye_N = mkN "acs" ;
|
||||
eye_N = mkN "acs" feminine ;
|
||||
fat_N = mkN "tauki" ;
|
||||
feather_N = mkN "spalva" ;
|
||||
fingernail_N = mkN "nags" ;
|
||||
fire_N = mkN "uguns" ;
|
||||
fire_N = mkN "uguns" feminine ;
|
||||
flower_N = mkN "puķe" ;
|
||||
fog_N = mkN "migla" ;
|
||||
foot_N = mkN "pēda" ;
|
||||
forest_N = mkN "mežs" ;
|
||||
grass_N = mkN "zāle" ;
|
||||
guts_N = mkN "zarnas" ; -- FIXME: no singular
|
||||
guts_N = mkN "zarnas" ;
|
||||
hair_N = mkN "mati" ;
|
||||
hand_N = mkN "roka" ;
|
||||
head_N = mkN "galva" ;
|
||||
heart_N = mkN "sirds" ;
|
||||
heart_N = mkN "sirds" feminine ;
|
||||
horn_N = mkN "rags" ;
|
||||
husband_N = mkN "vīrs" ; --TODO: kāpēc nav parametrs tāpat kā tēvam?
|
||||
ice_N = mkN "ledus" ;
|
||||
@@ -283,11 +282,11 @@ lin
|
||||
leaf_N = mkN "lapa" ;
|
||||
leg_N = mkN "kāja" ;
|
||||
liver_N = mkN "aknas" ;
|
||||
louse_N = mkN "uts" ;
|
||||
louse_N = mkN "uts" feminine ;
|
||||
mouth_N = mkN "mute" ;
|
||||
name_N = mkN "vārds" ;
|
||||
neck_N = mkN "kakls" ;
|
||||
night_N = mkN "nakts" ;
|
||||
night_N = mkN "nakts" feminine ;
|
||||
nose_N = mkN "deguns" ;
|
||||
person_N = mkN "persona" ;
|
||||
rain_N = mkN "lietus" ;
|
||||
@@ -373,7 +372,6 @@ lin
|
||||
today_Adv = mkAdv "šodien" ;
|
||||
uncertain_A = mkA "nepārliecināts" ;
|
||||
|
||||
oper
|
||||
par_Prep = mkPrep "par" Acc Dat ;
|
||||
--oper par_Prep = mkPrep "par" Acc Dat ;
|
||||
|
||||
}
|
||||
|
||||
@@ -39,20 +39,20 @@ oper
|
||||
-- Indeclinable adjective: theoretically, any #vowel ending
|
||||
mkAdjective_Indecl : Str -> Adj = \lemma -> {
|
||||
s = table{
|
||||
AAdj Superl Indef _ _ _ => NON_EXISTENT;
|
||||
AAdj _ _ _ _ _ => lemma ;
|
||||
AAdv d => mkAdjective_Adverb lemma ! d-- TODO - notestēt šādu keisu
|
||||
AAdj Superl Indef _ _ _ => NON_EXISTENT ;
|
||||
AAdj _ _ _ _ _ => lemma ;
|
||||
AAdv d => mkAdjective_Adverb lemma ! d-- TODO - notestēt šādu keisu
|
||||
}
|
||||
} ;
|
||||
|
||||
-- Qualitative adjective: -s, -š
|
||||
mkAdjective_Qual : Str -> Adj = \lemma -> {
|
||||
s = table {
|
||||
AAdj Posit d g n c => mkAdjective_Pos lemma d ! g ! n ! c;
|
||||
AAdj Compar d g n c => mkAdjective_Comp lemma d ! g ! n ! c;
|
||||
AAdj Superl Def g n c => mkAdjective_Sup lemma ! g ! n ! c;
|
||||
AAdj Superl Indef _ _ _ => NON_EXISTENT;
|
||||
AAdv d => mkAdjective_Adverb lemma ! d
|
||||
AAdj Posit d g n c => mkAdjective_Pos lemma d ! g ! n ! c ;
|
||||
AAdj Compar d g n c => mkAdjective_Comp lemma d ! g ! n ! c ;
|
||||
AAdj Superl Def g n c => mkAdjective_Sup lemma ! g ! n ! c ;
|
||||
AAdj Superl Indef _ _ _ => NON_EXISTENT ;
|
||||
AAdv d => mkAdjective_Adverb lemma ! d
|
||||
}
|
||||
} ;
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@ oper
|
||||
singular : Number = Sg ;
|
||||
plural : Number = Pl ;
|
||||
|
||||
masculine : Gender = Masc ;
|
||||
feminine : Gender = Fem ;
|
||||
|
||||
second_conjugation : VerbConj = C2 ;
|
||||
third_conjugation : VerbConj = C3 ;
|
||||
|
||||
@@ -27,6 +30,9 @@ oper
|
||||
accusative : Case = Acc ;
|
||||
locative : Case = Loc ;
|
||||
|
||||
active_voice : PartType = IsUsi ;
|
||||
passive_voice : PartType = TsTa ;
|
||||
|
||||
mkN = overload {
|
||||
mkN : (lemma : Str) -> N = \l -> lin N (mkNoun l) ;
|
||||
|
||||
|
||||
@@ -132,7 +132,7 @@ oper
|
||||
Dat => stem + "am" ;
|
||||
Acc => stem + "u" ;
|
||||
Loc => stem + "ā" ;
|
||||
Voc => stem
|
||||
Voc => stem
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "i" ;
|
||||
@@ -140,7 +140,7 @@ oper
|
||||
Dat => stem + "iem" ;
|
||||
Acc => stem + "us" ;
|
||||
Loc => stem + "os" ;
|
||||
Voc => stem + "i"
|
||||
Voc => stem + "i"
|
||||
}
|
||||
} ;
|
||||
g = Masc
|
||||
@@ -190,7 +190,7 @@ oper
|
||||
Dat => stem + "um" ;
|
||||
Acc => stem + "u" ;
|
||||
Loc => stem + "ū" ;
|
||||
Voc => stem + "u"
|
||||
Voc => stem + "u"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "i" ;
|
||||
@@ -198,7 +198,7 @@ oper
|
||||
Dat => stem + "iem" ;
|
||||
Acc => stem + "us" ;
|
||||
Loc => stem + "os" ;
|
||||
Voc => stem + "i"
|
||||
Voc => stem + "i"
|
||||
}
|
||||
} ;
|
||||
g = Masc
|
||||
@@ -217,7 +217,7 @@ oper
|
||||
Dat => case gend of {Fem => stem + "ai" ; Masc => stem + "am"} ;
|
||||
Acc => stem + "u" ;
|
||||
Loc => stem + "ā" ;
|
||||
Vod => stem + "a"
|
||||
Voc => stem + "a"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "as" ;
|
||||
@@ -225,7 +225,7 @@ oper
|
||||
Dat => stem + "ām" ;
|
||||
Acc => stem + "as" ;
|
||||
Loc => stem + "ās" ;
|
||||
Voc => stem + "as"
|
||||
Voc => stem + "as"
|
||||
}
|
||||
} ;
|
||||
g = gend
|
||||
@@ -244,7 +244,7 @@ oper
|
||||
Dat => case gend of {Fem => stem + "ei" ; Masc => stem + "em"} ;
|
||||
Acc => stem + "i" ;
|
||||
Loc => stem + "ē" ;
|
||||
Voc => stem + "e"
|
||||
Voc => stem + "e"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "es" ;
|
||||
@@ -252,7 +252,7 @@ oper
|
||||
Dat => stem + "ēm" ;
|
||||
Acc => stem + "es" ;
|
||||
Loc => stem + "ēs" ;
|
||||
Voc => stem + "es"
|
||||
Voc => stem + "es"
|
||||
}
|
||||
} ;
|
||||
g = gend
|
||||
@@ -273,7 +273,7 @@ oper
|
||||
Dat => case gend of {Fem => stem + "ij" ; Masc => stem + "im"} ;
|
||||
Acc => stem + "i" ;
|
||||
Loc => stem + "ī" ;
|
||||
Voc => stem + "s"
|
||||
Voc => stem + "s"
|
||||
}
|
||||
} ;
|
||||
Pl => table {
|
||||
@@ -282,7 +282,7 @@ oper
|
||||
Dat => stem + "īm" ;
|
||||
Acc => stem + "is" ;
|
||||
Loc => stem + "īs" ;
|
||||
Voc => stem + "is"
|
||||
Voc => stem + "is"
|
||||
}
|
||||
} ;
|
||||
g = gend
|
||||
@@ -300,7 +300,7 @@ oper
|
||||
Dat => NON_EXISTENT ;
|
||||
Acc => stem + "šanos" ;
|
||||
Loc => NON_EXISTENT ;
|
||||
Voc => stem + "šanās"
|
||||
Voc => stem + "šanās"
|
||||
} ;
|
||||
Pl => table {
|
||||
Nom => stem + "šanās" ;
|
||||
@@ -308,7 +308,7 @@ oper
|
||||
Dat => NON_EXISTENT ;
|
||||
Acc => stem + "šanās" ;
|
||||
Loc => NON_EXISTENT ;
|
||||
Voc => stem + "šanās"
|
||||
Voc => stem + "šanās"
|
||||
}
|
||||
} ;
|
||||
g = Fem
|
||||
|
||||
@@ -15,7 +15,6 @@ flags
|
||||
lin
|
||||
language_title_Utt = ss "latviešu valoda" ;
|
||||
|
||||
-- TODO: kā ar loģikā lietotajiem 'visi', 'katrs' ?
|
||||
every_Det = {
|
||||
s = (\\g,c => (mkPronoun_Gend "ikviens").s ! g ! Sg ! c) ;
|
||||
n = Sg ;
|
||||
@@ -112,24 +111,23 @@ lin
|
||||
above_Prep = mkPrep "virs" Gen Dat ;
|
||||
after_Prep = mkPrep "pēc" Gen Dat ;
|
||||
before_Prep = mkPrep "pirms" Gen Dat ;
|
||||
behind_Prep = mkPrep "aiz" Gen Dat ;
|
||||
behind_Prep = mkPrep "aiz" Gen Dat ; -- taču "aiz" nav viennozīmīgi "behind"
|
||||
between_Prep = mkPrep "starp" Acc Dat ;
|
||||
for_Prep = mkPrep "priekš" Gen Dat ;
|
||||
from_Prep = mkPrep "no" Gen Dat ;
|
||||
on_Prep = mkPrep "uz" Gen Dat ;
|
||||
with_Prep = mkPrep "ar" Acc Dat ; -- ar sievu, ar sievām
|
||||
in_Prep = mkPrep Loc ;
|
||||
to_Prep = mkPrep "līdz" Dat Dat ; -- See also: ExtraLav.to8uz_Prep
|
||||
to_Prep = mkPrep "uz" Acc Dat ; -- See also: ExtraLav.liidz_Prep, pie_Prep
|
||||
possess_Prep = mkPrep Gen ; -- FIXME: vajadzētu vārdu secību otrādi - pirms paskaidrojamā vārda likt
|
||||
under_Prep = mkPrep "zem" Gen Dat ;
|
||||
with_Prep = mkPrep "ar" Acc Dat ;
|
||||
without_Prep = mkPrep "bez" Gen Dat ;
|
||||
by8agent_Prep = nom_Prep ; -- TODO: should get rid of this Prep
|
||||
by8agent_Prep = nom_Prep ; -- TODO: should get rid of this Prep; taču tas parādās Eng2Abs kokos... -- FIXME: nom_Prep vs. dat_Prep/accPrep
|
||||
by8means_Prep = mkPrep "ar" Acc Dat ;
|
||||
during_Prep = mkPrep "laikā" Gen Gen ; -- FIXME: laikam postfix 'X laikā' jāliek
|
||||
during_Prep = mkPrep Loc ;
|
||||
in8front_Prep = mkPrep "priekšā" Dat Dat ;
|
||||
--part_Prep = mkPrep Gen ; --FIXME - vajadzētu vārdu secību otrādi - pirms paskaidrojamā vārda likt
|
||||
through_Prep = mkPrep "cauri" Dat Dat ;
|
||||
part_Prep = mkPrep Gen ; --FIXME - vajadzētu vārdu secību otrādi - pirms paskaidrojamā vārda likt
|
||||
through_Prep = mkPrep "caur" Acc Dat ;
|
||||
except_Prep = mkPrep "izņemot" Acc Acc ;
|
||||
|
||||
very_AdA = mkAdA "ļoti" ;
|
||||
@@ -277,17 +275,18 @@ oper
|
||||
lai_Subj = ss "lai" ;
|
||||
kameer_Subj = ss "kamēr" ;
|
||||
|
||||
emptyPl_Det = { -- TODO: pašlaik netiek izmantots, jāpārnes uz ExtraLav(?) kā dsk. alternatīva a_Art, the_Art, no_Quant, every_Det
|
||||
{- Netiek izmantoti; to vietā sk. ExtraLav
|
||||
emptyPl_Det = {
|
||||
s : Gender => Case => Str = \\_,_ => [] ;
|
||||
n = Pl ;
|
||||
d = Indef
|
||||
} ;
|
||||
|
||||
emptySg_Det = { -- TODO: analoģiski kā emptyPl_Det
|
||||
s : Gender => Case => Str = \\_,_ => [] ;
|
||||
n = Sg ;
|
||||
d = Indef
|
||||
} ;
|
||||
-}
|
||||
|
||||
no_Utt = ss "nē" ;
|
||||
|
||||
|
||||
@@ -170,6 +170,7 @@ lin
|
||||
objNeg = False
|
||||
} ;
|
||||
|
||||
-- TODO: vai VP nevajag papildlauku isPass?
|
||||
PassV2 v2 = {
|
||||
v = v2 ;
|
||||
compl = \\_ => [] ;
|
||||
@@ -177,6 +178,10 @@ lin
|
||||
objNeg = False -- FIXME: inherit from the object
|
||||
} ;
|
||||
|
||||
-- TODO: šajā brīdī ir jāignorē prep (by8agent_Prep); tas jāaizstāj ar v2.topic
|
||||
-- Tad varēs dzēst ārā komentāru pie StructuralLav.by8agent_Prep
|
||||
VPSlashPrep vp prep = vp ** {p = prep} ;
|
||||
|
||||
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
||||
|
||||
AdVVP adv vp = insertObjPre (\\_ => adv.s) vp ;
|
||||
|
||||
Reference in New Issue
Block a user