mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-22 01:22:51 -06:00
Some improvements to the Latvian resource grammar
- some missing functions (needed for Phrasebook) - few bug-fixes (verb paradigms) - naming, formatting, clean-up
This commit is contained in:
@@ -24,7 +24,7 @@ lincat
|
|||||||
-- Question
|
-- Question
|
||||||
QCl = { s : VerbMood => Polarity => Str } ;
|
QCl = { s : VerbMood => Polarity => Str } ;
|
||||||
IP = { s : Case => Str ; n: Number } ;
|
IP = { s : Case => Str ; n: Number } ;
|
||||||
--IComp = { s : Str } ;
|
--IComp = { s : Str ; a : ResLav.Agr } ;
|
||||||
IDet = { s : Gender => Str ; n : Number } ;
|
IDet = { s : Gender => Str ; n : Number } ;
|
||||||
IQuant = { s : Gender => Number => Str } ;
|
IQuant = { s : Gender => Number => Str } ;
|
||||||
|
|
||||||
|
|||||||
@@ -8,4 +8,8 @@ flags
|
|||||||
lin
|
lin
|
||||||
GenNP np = {s = \\_,_,_ => np.s ! Gen ; d = Def} ;
|
GenNP np = {s = \\_,_,_ => np.s ! Gen ; d = Def} ;
|
||||||
|
|
||||||
|
--ICompAP ap = {s = \\g,n => "cik" ++ ap.s ! Indef ! g ! n ! Nom } ;
|
||||||
|
|
||||||
|
IAdvAdv adv = {s = "cik" ++ adv.s} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ lin
|
|||||||
|
|
||||||
ExistNP np =
|
ExistNP np =
|
||||||
let
|
let
|
||||||
v = lin V mkVerb_toBe ;
|
v = lin V mkVerb_Irreg_Be ;
|
||||||
a = np.a
|
a = np.a
|
||||||
in {
|
in {
|
||||||
s = \\mood,pol =>
|
s = \\mood,pol =>
|
||||||
@@ -40,7 +40,7 @@ lin
|
|||||||
|
|
||||||
ExistIP ip =
|
ExistIP ip =
|
||||||
let
|
let
|
||||||
v = lin V mkVerb_toBe ;
|
v = lin V mkVerb_Irreg_Be ;
|
||||||
a = AgP3 ip.n Masc
|
a = AgP3 ip.n Masc
|
||||||
in {
|
in {
|
||||||
s = \\mood,pol =>
|
s = \\mood,pol =>
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ lin
|
|||||||
come_V = mkV "nākt" "nāku" "nācu" ;
|
come_V = mkV "nākt" "nāku" "nācu" ;
|
||||||
computer_N = mkN "dators" ;
|
computer_N = mkN "dators" ;
|
||||||
country_N = mkN "valsts" ;
|
country_N = mkN "valsts" ;
|
||||||
cousin_N = mkN "brālēns" ; -- FIXME: brālēns/māsīca angļiem ir vienāds...
|
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" ;
|
||||||
die_V = mkV "nomirt" "nomirstu" "nomiru";
|
die_V = mkV "nomirt" "nomirstu" "nomiru";
|
||||||
dirty_A = mkA "netīrs" ;
|
dirty_A = mkA "netīrs" ;
|
||||||
@@ -72,7 +72,7 @@ lin
|
|||||||
dog_N = mkN "suns" ;
|
dog_N = mkN "suns" ;
|
||||||
door_N = mkN "durvis" ;
|
door_N = mkN "durvis" ;
|
||||||
drink_V2 = mkV2 (mkV "dzert" "dzeru" "dzēru") acc_Prep;
|
drink_V2 = mkV2 (mkV "dzert" "dzeru" "dzēru") acc_Prep;
|
||||||
--easy_A2V = mkA2V (regA "easy") forP ; -- FIXME: nav tādas konstrukcijas latviešu val.
|
--easy_A2V = mkA2V (regA "easy") forP ; -- FIXME: nav tādas konstrukcijas latviešu val.
|
||||||
eat_V2 = mkV2 (mkV "ēst" "ēdu" "ēdu") acc_Prep ;
|
eat_V2 = mkV2 (mkV "ēst" "ēdu" "ēdu") acc_Prep ;
|
||||||
empty_A = mkA "tukšs" ;
|
empty_A = mkA "tukšs" ;
|
||||||
enemy_N = mkN "ienaidnieks" ;
|
enemy_N = mkN "ienaidnieks" ;
|
||||||
@@ -109,6 +109,7 @@ lin
|
|||||||
king_N = mkN "karalis" ;
|
king_N = mkN "karalis" ;
|
||||||
know_V2 = mkV2 (mkV "zināt" third_conjugation) acc_Prep ;
|
know_V2 = mkV2 (mkV "zināt" third_conjugation) acc_Prep ;
|
||||||
-- FIXME: šitādas lietas jārisina ar valencēm nevis 2 vienādiem vārdiem
|
-- FIXME: šitādas lietas jārisina ar valencēm nevis 2 vienādiem vārdiem
|
||||||
|
know_VQ = mkVQ (mkV "zināt" third_conjugation) ;
|
||||||
know_VS = mkVS (mkV "zināt" third_conjugation) that_Subj ;
|
know_VS = mkVS (mkV "zināt" third_conjugation) that_Subj ;
|
||||||
lake_N = mkN "ezers" ;
|
lake_N = mkN "ezers" ;
|
||||||
lamp_N = mkN "lampa" ;
|
lamp_N = mkN "lampa" ;
|
||||||
@@ -133,7 +134,7 @@ lin
|
|||||||
narrow_A = mkA "šaurs" ;
|
narrow_A = mkA "šaurs" ;
|
||||||
new_A = mkA "jauns" ;
|
new_A = mkA "jauns" ;
|
||||||
newspaper_N = mkN "avīze" ;
|
newspaper_N = mkN "avīze" ;
|
||||||
oil_N = mkN "eļļa" ; -- reku parādās klasiskās problēmas - eļļa vai nafta?
|
oil_N = mkN "eļļa" ; -- reku parādās klasiskās problēmas - eļļa vai nafta?
|
||||||
old_A = mkA "vecs" ;
|
old_A = mkA "vecs" ;
|
||||||
open_V2 = mkV2 (mkV "atvērt" "atveru" "atvēru") acc_Prep ;
|
open_V2 = mkV2 (mkV "atvērt" "atveru" "atvēru") acc_Prep ;
|
||||||
paint_V2A = mkV2A (mkV "krāsot" second_conjugation) acc_Prep ;
|
paint_V2A = mkV2A (mkV "krāsot" second_conjugation) acc_Prep ;
|
||||||
@@ -149,7 +150,7 @@ lin
|
|||||||
probable_AS = mkAS (mkA "iespējams") ;
|
probable_AS = mkAS (mkA "iespējams") ;
|
||||||
queen_N = mkN "karaliene" ;
|
queen_N = mkN "karaliene" ;
|
||||||
radio_N = mkN "radio" ;
|
radio_N = mkN "radio" ;
|
||||||
--rain_V0 = mkV0 (regV "rain") ;
|
rain_V0 = mkV "līt" "līstu" "liju" ;
|
||||||
read_V2 = mkV2 (mkV "lasīt" third_conjugation) acc_Prep ;
|
read_V2 = mkV2 (mkV "lasīt" third_conjugation) acc_Prep ;
|
||||||
red_A = mkA "sarkans" ;
|
red_A = mkA "sarkans" ;
|
||||||
religion_N = mkN "reliģija" ;
|
religion_N = mkN "reliģija" ;
|
||||||
@@ -174,12 +175,12 @@ lin
|
|||||||
shop_N = mkN "veikals" ;
|
shop_N = mkN "veikals" ;
|
||||||
short_A = mkA "īss" ;
|
short_A = mkA "īss" ;
|
||||||
silver_N = mkN "sudrabs" ;
|
silver_N = mkN "sudrabs" ;
|
||||||
sister_N = mkN "māsa" ; -- TODO: kāpēc nav kā brālis ar parametru?
|
sister_N = mkN "māsa" ; -- TODO: kāpēc nav kā brālis ar parametru?
|
||||||
sleep_V = mkV "gulēt";
|
sleep_V = mkV "gulēt";
|
||||||
small_A = mkA "mazs" ;
|
small_A = mkA "mazs" ;
|
||||||
snake_N = mkN "čūska" ;
|
snake_N = mkN "čūska" ;
|
||||||
sock_N = mkN "zeķe" ;
|
sock_N = mkN "zeķe" ;
|
||||||
speak_V2 = mkV2 (mkV "sacīt" third_conjugation) acc_Prep ; -- TODO: citas valences tur tak
|
speak_V2 = mkV2 (mkV "sacīt" third_conjugation) acc_Prep ; -- TODO: citas valences tur tak
|
||||||
star_N = mkN "zvaigzne" ;
|
star_N = mkN "zvaigzne" ;
|
||||||
steel_N = mkN "tērauds" ;
|
steel_N = mkN "tērauds" ;
|
||||||
stone_N = mkN "akmens" ;
|
stone_N = mkN "akmens" ;
|
||||||
@@ -190,7 +191,7 @@ lin
|
|||||||
switch8off_V2 = mkV2 (mkV "izslēgt" "izslēdzu" "izslēdzu") acc_Prep ;
|
switch8off_V2 = mkV2 (mkV "izslēgt" "izslēdzu" "izslēdzu") acc_Prep ;
|
||||||
switch8on_V2 = mkV2 (mkV "ieslēgt" "ieslēdzu" "ieslēdzu") acc_Prep ;
|
switch8on_V2 = mkV2 (mkV "ieslēgt" "ieslēdzu" "ieslēdzu") acc_Prep ;
|
||||||
table_N = mkN "galds" ;
|
table_N = mkN "galds" ;
|
||||||
talk_V3 = mkV3 (mkV "runāt" second_conjugation) to_Prep par_Prep ; -- ar ko, par ko
|
talk_V3 = mkV3 (mkV "runāt" second_conjugation) to_Prep par_Prep ; -- ar ko, par ko
|
||||||
teacher_N = mkN "skolotājs" ;
|
teacher_N = mkN "skolotājs" ;
|
||||||
teach_V2 = mkV2 (mkV "mācīt" third_conjugation) acc_Prep ;
|
teach_V2 = mkV2 (mkV "mācīt" third_conjugation) acc_Prep ;
|
||||||
television_N = mkN "televīzija" ;
|
television_N = mkN "televīzija" ;
|
||||||
@@ -235,7 +236,7 @@ lin
|
|||||||
far_Adv = mkAdv "tālu" ;
|
far_Adv = mkAdv "tālu" ;
|
||||||
correct_A = mkA "pareizs" ;
|
correct_A = mkA "pareizs" ;
|
||||||
dry_A = mkA "sauss" ;
|
dry_A = mkA "sauss" ;
|
||||||
dull_A = mkA "neass" ; -- garlaicīgs?
|
dull_A = mkA "neass" ; -- garlaicīgs?
|
||||||
full_A = mkA "pilns" ;
|
full_A = mkA "pilns" ;
|
||||||
heavy_A = mkA "smags" ;
|
heavy_A = mkA "smags" ;
|
||||||
near_A = mkA "tuvs" ;
|
near_A = mkA "tuvs" ;
|
||||||
@@ -247,7 +248,7 @@ lin
|
|||||||
wet_A = mkA "slapjš" ;
|
wet_A = mkA "slapjš" ;
|
||||||
wide_A = mkA "plats" ;
|
wide_A = mkA "plats" ;
|
||||||
animal_N = mkN "dzīvnieks" ;
|
animal_N = mkN "dzīvnieks" ;
|
||||||
ashes_N = mkN "pelni" ; -- FIXME: plural only? kā to norāda?
|
ashes_N = mkN "pelni" ; -- FIXME: plural only? kā to norāda?
|
||||||
back_N = mkN "mugura" ;
|
back_N = mkN "mugura" ;
|
||||||
bark_N = mkN "miza" ;
|
bark_N = mkN "miza" ;
|
||||||
belly_N = mkN "vēders" ;
|
belly_N = mkN "vēders" ;
|
||||||
@@ -270,13 +271,13 @@ lin
|
|||||||
foot_N = mkN "pēda" ;
|
foot_N = mkN "pēda" ;
|
||||||
forest_N = mkN "mežs" ;
|
forest_N = mkN "mežs" ;
|
||||||
grass_N = mkN "zāle" ;
|
grass_N = mkN "zāle" ;
|
||||||
guts_N = mkN "zarnas" ; -- FIXME: no singular
|
guts_N = mkN "zarnas" ; -- FIXME: no singular
|
||||||
hair_N = mkN "mati" ;
|
hair_N = mkN "mati" ;
|
||||||
hand_N = mkN "roka" ;
|
hand_N = mkN "roka" ;
|
||||||
head_N = mkN "galva" ;
|
head_N = mkN "galva" ;
|
||||||
heart_N = mkN "sirds" ;
|
heart_N = mkN "sirds" ;
|
||||||
horn_N = mkN "rags" ;
|
horn_N = mkN "rags" ;
|
||||||
husband_N = mkN "vīrs" ; --TODO: kāpēc nav parametrs tāpat kā tēvam?
|
husband_N = mkN "vīrs" ; --TODO: kāpēc nav parametrs tāpat kā tēvam?
|
||||||
ice_N = mkN "ledus" ;
|
ice_N = mkN "ledus" ;
|
||||||
knee_N = mkN "ceļgals" ;
|
knee_N = mkN "ceļgals" ;
|
||||||
leaf_N = mkN "lapa" ;
|
leaf_N = mkN "lapa" ;
|
||||||
@@ -319,7 +320,7 @@ lin
|
|||||||
flow_V = mkV "plūst" "plūstu" "plūdu" ;
|
flow_V = mkV "plūst" "plūstu" "plūdu" ;
|
||||||
fly_V = mkV "lidot" second_conjugation ;
|
fly_V = mkV "lidot" second_conjugation ;
|
||||||
freeze_V = mkV "sasalt" "sasalstu" "sasalu" ;
|
freeze_V = mkV "sasalt" "sasalstu" "sasalu" ;
|
||||||
give_V3 = mkV3 (mkV "dot" "dodu" "devu") acc_Prep dat_Prep ; -- dot ko? kam?
|
give_V3 = mkV3 (mkV "dot" "dodu" "devu") acc_Prep dat_Prep ; -- dot ko? kam?
|
||||||
laugh_V = mkV "smieties" "smejos" "smējos" ;
|
laugh_V = mkV "smieties" "smejos" "smējos" ;
|
||||||
lie_V = mkV "gulties" "guļos" "gūlos" ;
|
lie_V = mkV "gulties" "guļos" "gūlos" ;
|
||||||
play_V = mkV "spēlēt" second_conjugation ;
|
play_V = mkV "spēlēt" second_conjugation ;
|
||||||
@@ -375,13 +376,4 @@ lin
|
|||||||
oper
|
oper
|
||||||
par_Prep = mkPrep "par" Acc Dat ;
|
par_Prep = mkPrep "par" Acc Dat ;
|
||||||
|
|
||||||
{-
|
|
||||||
atP = mkPrep "at" ;
|
|
||||||
forP = mkPrep "for" ;
|
|
||||||
fromP = mkPrep "from" ;
|
|
||||||
inP = mkPrep "in" ;
|
|
||||||
onP = mkPrep "on" ;
|
|
||||||
toP = mkPrep "to" ;
|
|
||||||
-}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ oper
|
|||||||
mkSubj : Str -> Subj = \x ->
|
mkSubj : Str -> Subj = \x ->
|
||||||
lin Subj {s = x} ;
|
lin Subj {s = x} ;
|
||||||
|
|
||||||
|
--mkNP : Str -> ParadigmsLav.Number -> NP = \s,n ->
|
||||||
|
-- lin NP (regNP s n) ;
|
||||||
|
|
||||||
mkIDet : Str -> ParadigmsLav.Number -> IDet = \s,n ->
|
mkIDet : Str -> ParadigmsLav.Number -> IDet = \s,n ->
|
||||||
lin IDet {s = \\_ => s ; n = n} ;
|
lin IDet {s = \\_ => s ; n = n} ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,5 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude
|
--# -path=.:../abstract:../common:../prelude
|
||||||
|
|
||||||
-- This is an API for the user of the resource grammar
|
|
||||||
-- for adding lexical items. It gives functions for forming
|
|
||||||
-- expressions of open categories: nouns, adjectives, verbs.
|
|
||||||
--
|
|
||||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
|
||||||
-- accessed through the resource syntax API, $Structural.gf$.
|
|
||||||
--
|
|
||||||
-- The main difference with $MorphoLav.gf$ is that the types
|
|
||||||
-- referred to are compiled resource grammar types. We have moreover
|
|
||||||
-- had the design principle of always having existing forms, rather
|
|
||||||
-- than stems, as string arguments of the paradigms.
|
|
||||||
--
|
|
||||||
-- The structure of functions for each word class $C$ is the following:
|
|
||||||
-- first we give a handful of patterns that aim to cover all
|
|
||||||
-- regular cases. Then we give a worst-case function $mkC$, which serves as an
|
|
||||||
-- escape to construct the most irregular words of type $C$.
|
|
||||||
|
|
||||||
resource ParadigmsLav = open
|
resource ParadigmsLav = open
|
||||||
(Predef=Predef),
|
(Predef=Predef),
|
||||||
Prelude,
|
Prelude,
|
||||||
@@ -66,12 +49,12 @@ oper
|
|||||||
|
|
||||||
mkPN = overload {
|
mkPN = overload {
|
||||||
mkN : (lemma : Str) -> PN = \l -> lin PN (mkProperNoun l Sg) ;
|
mkN : (lemma : Str) -> PN = \l -> lin PN (mkProperNoun l Sg) ;
|
||||||
mkN : (lemma : Str) -> Number -> PN = \l,n -> lin PN (mkProperNoun l n) ;
|
mkN : (lemma : Str) -> Number -> PN = \l,n -> lin PN (mkProperNoun l n) ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkN2 = overload {
|
mkN2 = overload {
|
||||||
mkN2 : N -> Prep -> N2 = \n,p -> lin N2 n ** { p = p ; isPre = False } ;
|
mkN2 : N -> Prep -> N2 = \n,p -> lin N2 n ** { p = p ; isPre = False } ;
|
||||||
mkN2 : N -> Prep -> Bool -> N2 = \n,p,isPre -> lin N2 n ** { p = p ; isPre = isPre } ;
|
mkN2 : N -> Prep -> Bool -> N2 = \n,p,isPre -> lin N2 n ** { p = p ; isPre = isPre } ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 ->
|
mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 ->
|
||||||
@@ -80,10 +63,10 @@ oper
|
|||||||
mkA = overload {
|
mkA = overload {
|
||||||
mkA : (lemma : Str) -> A = \s -> lin A (mkAdjective s) ;
|
mkA : (lemma : Str) -> A = \s -> lin A (mkAdjective s) ;
|
||||||
mkA : (lemma : Str) -> AdjType -> A = \s,t -> lin A (mkAdjectiveByType s t) ;
|
mkA : (lemma : Str) -> AdjType -> A = \s,t -> lin A (mkAdjectiveByType s t) ;
|
||||||
mkA : (v : Verb) -> A = \v -> lin A (mkAdjective_Participle v) ;
|
mkA : (v : Verb) -> A = \v -> lin A (mkAdjective_Participle v) ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** { p = p }) ; -- precējies ar ...
|
mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** { p = p }) ; -- precējies ar ...
|
||||||
mkAS : A -> AS =\a -> lin A a ;
|
mkAS : A -> AS =\a -> lin A a ;
|
||||||
mkA2S : A -> Prep -> A2S =\a,p -> lin A2 (a ** { p = p }) ;
|
mkA2S : A -> Prep -> A2S =\a,p -> lin A2 (a ** { p = p }) ;
|
||||||
mkAV : A -> AV = \a -> lin A a ;
|
mkAV : A -> AV = \a -> lin A a ;
|
||||||
@@ -114,7 +97,7 @@ oper
|
|||||||
mkPrep = overload {
|
mkPrep = overload {
|
||||||
mkPrep : Str -> Case -> Case -> Prep = \prep,sg,pl ->
|
mkPrep : Str -> Case -> Case -> Prep = \prep,sg,pl ->
|
||||||
lin Prep { s = prep ; c = table { Sg => sg ; Pl => pl } } ;
|
lin Prep { s = prep ; c = table { Sg => sg ; Pl => pl } } ;
|
||||||
mkPrep : Case -> Prep = \c -> lin Prep { s = [] ; c = table { _ => c } } ;
|
mkPrep : Case -> Prep = \c -> lin Prep { s = [] ; c = table { _ => c } } ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- empty fake prepositions for valences
|
-- empty fake prepositions for valences
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ oper
|
|||||||
case lemma of {
|
case lemma of {
|
||||||
-- TODO: "ir" =>
|
-- TODO: "ir" =>
|
||||||
s + ("t") => mkVerb_C1 lemma lemma2 lemma3 ;
|
s + ("t") => mkVerb_C1 lemma lemma2 lemma3 ;
|
||||||
s + ("ties") => mkVerb_C1_R lemma lemma2 lemma3
|
s + ("ties") => mkVerb_C1_Refl lemma lemma2 lemma3
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkRegVerb : Str -> VerbConj -> Verb_TMP = \lemma,conj ->
|
mkRegVerb : Str -> VerbConj -> Verb_TMP = \lemma,conj ->
|
||||||
@@ -51,8 +51,8 @@ oper
|
|||||||
|
|
||||||
mkReflVerb : Str -> VerbConj -> Verb_TMP = \lemma,conj ->
|
mkReflVerb : Str -> VerbConj -> Verb_TMP = \lemma,conj ->
|
||||||
case conj of {
|
case conj of {
|
||||||
C2 => mkVerb_C2_R lemma ;
|
C2 => mkVerb_C2_Refl lemma ;
|
||||||
C3 => mkVerb_C3_R lemma
|
C3 => mkVerb_C3_Refl lemma
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
filter_Neg : Verb_TMP -> Verb_TMP = \full -> {
|
filter_Neg : Verb_TMP -> Verb_TMP = \full -> {
|
||||||
@@ -64,390 +64,439 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- First conjugation
|
-- First conjugation
|
||||||
-- Ref. to Lexicon.xml (revision 719): 15. paradigma
|
-- Ref. to lexicon.xml (revision 719): 15th paradigm
|
||||||
mkVerb_C1 : Str -> Str -> Str -> Verb_TMP = \lemma,lemma2,lemma3 ->
|
-- lemma1: Infinitive
|
||||||
|
-- lemma2: Indicative P1 Sg Pres
|
||||||
|
-- lemma3: Indicative P1 Sg Past
|
||||||
|
mkVerb_C1 : Str -> Str -> Str -> Verb_TMP = \lemma1,lemma2,lemma3 ->
|
||||||
let
|
let
|
||||||
stem : Str = Predef.tk 1 lemma ;
|
stem1 : Str = Predef.tk 1 lemma1 ;
|
||||||
stem2 : Str = Predef.tk 1 lemma2 ;
|
stem2 : Str = Predef.tk 1 lemma2 ;
|
||||||
stem3 : Str = Predef.tk 1 lemma3
|
stem3 : Str = Predef.tk 1 lemma3
|
||||||
in {
|
in {
|
||||||
s = table {
|
s = table {
|
||||||
Infinitive => stem + "t" ;
|
Infinitive => lemma1 ; -- stem1 + "t"
|
||||||
|
|
||||||
Indicative P1 Sg Pres => stem2 + "u" ;
|
Indicative P1 Sg Pres => lemma2 ; -- stem2 + "u"
|
||||||
Indicative P1 Sg Fut => pal_C1_1 stem3 stem + "šu" ;
|
Indicative P1 Sg Fut => pal_C1_1 stem3 stem1 + "šu" ;
|
||||||
Indicative P1 Sg Past => stem3 + "u" ;
|
Indicative P1 Sg Past => lemma3 ; -- stem3 + "u"
|
||||||
Indicative P1 Pl Pres => stem2 + "am" ;
|
Indicative P1 Pl Pres => stem2 + "am" ;
|
||||||
Indicative P1 Pl Fut => pal_C1_1 stem3 stem + "sim" ;
|
Indicative P1 Pl Fut => pal_C1_1 stem3 stem1 + "sim" ;
|
||||||
Indicative P1 Pl Past => stem3 + "ām" ;
|
Indicative P1 Pl Past => stem3 + "ām" ;
|
||||||
|
|
||||||
Indicative P2 Sg Pres => stem3 ;
|
Indicative P2 Sg Pres => pal_C1_4 stem2 ;
|
||||||
Indicative P2 Sg Fut => pal_C1_1 stem3 stem + "si" ;
|
Indicative P2 Sg Fut => pal_C1_1 stem3 stem1 + "si" ;
|
||||||
Indicative P2 Sg Past => stem3 + "i" ;
|
Indicative P2 Sg Past => stem3 + "i" ;
|
||||||
Indicative P2 Pl Pres => stem2 + "at" ;
|
Indicative P2 Pl Pres => stem2 + "at" ;
|
||||||
Indicative P2 Pl Fut => pal_C1_1 stem3 stem + ("siet"|"sit") ;
|
--Indicative P2 Pl Fut => pal_C1_1 stem3 stem1 + ("siet"|"sit") ;
|
||||||
Indicative P2 Pl Past => stem3 + "āt" ;
|
Indicative P2 Pl Fut => pal_C1_1 stem3 stem1 + "siet" ;
|
||||||
|
Indicative P2 Pl Past => stem3 + "āt" ;
|
||||||
|
|
||||||
Indicative P3 _ Pres => stem2 ;
|
Indicative P3 _ Pres => stem2 ;
|
||||||
Indicative P3 _ Fut => pal_C1_1 stem3 stem + "s" ;
|
Indicative P3 _ Fut => pal_C1_1 stem3 stem1 + "s" ;
|
||||||
Indicative P3 _ Past => stem3 + "a" ;
|
Indicative P3 _ Past => stem3 + "a" ;
|
||||||
|
|
||||||
Indicative _ _ Cond => stem + "tu";
|
Indicative _ _ Cond => stem1 + "tu" ;
|
||||||
|
|
||||||
Relative Pres => stem2 + "ot" ;
|
Relative Pres => stem2 + "ot" ;
|
||||||
Relative Fut => pal_C1_1 stem3 stem + "šot" ;
|
Relative Fut => pal_C1_1 stem3 stem1 + "šot" ;
|
||||||
Relative Past => NON_EXISTENT ;
|
Relative Past => NON_EXISTENT ;
|
||||||
Relative Cond => NON_EXISTENT ;
|
Relative Cond => NON_EXISTENT ;
|
||||||
|
|
||||||
Debitive => "jā" + stem2 ;
|
Debitive => "jā" + stem2 ;
|
||||||
|
|
||||||
DebitiveRelative => "jā" + stem2 + "ot" ;
|
DebitiveRelative => "jā" + stem2 + "ot" ;
|
||||||
|
|
||||||
Imperative Sg => stem3 ;
|
Imperative Sg => pal_C1_4 stem2 ;
|
||||||
Imperative Pl => stem3 + "iet" ;
|
Imperative Pl => pal_C1_4 stem2 + "iet" ;
|
||||||
|
|
||||||
Participle g n c => participle_normal_l g n c (pal_C1_3 stem3) (pal_C1_4 stem3)
|
Participle g n c => mkParticiple_IsUsi g n c (pal_C1_3 stem3) (pal_C1_4 stem3)
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Second conjugation
|
-- Second conjugation
|
||||||
-- Ref. to Lexicon.xml (revision 719): 16. paradigma
|
-- Ref. to lexicon.xml (revision 719): 16th paradigm
|
||||||
|
-- lemma: Infinitive
|
||||||
mkVerb_C2 : Str -> Verb_TMP = \lemma ->
|
mkVerb_C2 : Str -> Verb_TMP = \lemma ->
|
||||||
let stem : Str = Predef.tk 1 lemma
|
let
|
||||||
|
stem : Str = Predef.tk 1 lemma
|
||||||
in {
|
in {
|
||||||
s = table {
|
s = table {
|
||||||
Infinitive => stem + "t" ;
|
Infinitive => lemma ; -- stem + "t"
|
||||||
|
|
||||||
Indicative P1 Sg Pres => stem + "ju" ;
|
Indicative P1 Sg Pres => stem + "ju" ;
|
||||||
Indicative P1 Sg Fut => stem + "šu" ;
|
Indicative P1 Sg Fut => stem + "šu" ;
|
||||||
Indicative P1 Sg Past => stem + "ju" ;
|
Indicative P1 Sg Past => stem + "ju" ;
|
||||||
Indicative P1 Pl Pres => stem + "jam" ;
|
Indicative P1 Pl Pres => stem + "jam" ;
|
||||||
Indicative P1 Pl Fut => stem + "sim" ;
|
Indicative P1 Pl Fut => stem + "sim" ;
|
||||||
Indicative P1 Pl Past => stem + "jām" ;
|
Indicative P1 Pl Past => stem + "jām" ;
|
||||||
|
|
||||||
Indicative P2 Sg Pres => stem ;
|
Indicative P2 Sg Pres => stem ;
|
||||||
Indicative P2 Sg Fut => stem + "si" ;
|
Indicative P2 Sg Fut => stem + "si" ;
|
||||||
Indicative P2 Sg Past => stem + "ji" ;
|
Indicative P2 Sg Past => stem + "ji" ;
|
||||||
Indicative P2 Pl Pres => stem + "jat" ;
|
Indicative P2 Pl Pres => stem + "jat" ;
|
||||||
Indicative P2 Pl Fut => stem + ("siet"|"sit") ;
|
--Indicative P2 Pl Fut => stem + ("siet"|"sit") ;
|
||||||
Indicative P2 Pl Past => stem + "jāt" ;
|
Indicative P2 Pl Fut => stem + "siet" ;
|
||||||
|
Indicative P2 Pl Past => stem + "jāt" ;
|
||||||
|
|
||||||
Indicative P3 _ Pres => stem ;
|
Indicative P3 _ Pres => stem ;
|
||||||
Indicative P3 _ Fut => stem + "s" ;
|
Indicative P3 _ Fut => stem + "s" ;
|
||||||
Indicative P3 _ Past => stem + "ja" ;
|
Indicative P3 _ Past => stem + "ja" ;
|
||||||
|
|
||||||
Indicative _ _ Cond => stem + "tu";
|
Indicative _ _ Cond => stem + "tu" ;
|
||||||
|
|
||||||
Relative Pres => stem + "jot" ;
|
Relative Pres => stem + "jot" ;
|
||||||
Relative Fut => stem + "šot" ;
|
Relative Fut => stem + "šot" ;
|
||||||
Relative Past => NON_EXISTENT ;
|
Relative Past => NON_EXISTENT ;
|
||||||
Relative Cond => NON_EXISTENT ;
|
Relative Cond => NON_EXISTENT ;
|
||||||
|
|
||||||
Debitive => "jā" + stem ;
|
Debitive => "jā" + stem ;
|
||||||
|
|
||||||
DebitiveRelative => "jā" + stem + "jot" ;
|
DebitiveRelative => "jā" + stem + "jot" ;
|
||||||
|
|
||||||
Imperative Sg => stem ;
|
Imperative Sg => stem ;
|
||||||
Imperative Pl => stem + "jiet";
|
Imperative Pl => stem + "jiet" ;
|
||||||
|
|
||||||
Participle g n c => participle_normal g n c (stem + "j")
|
Participle g n c => mkParticiple g n c (stem + "j")
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Third conjugation
|
-- Third conjugation
|
||||||
-- Ref. to Lexicon.xml (revision 719): 17. paradigma
|
-- Ref. to lexicon.xml (revision 719): 17th paradigm
|
||||||
|
-- lemma: Infinitive
|
||||||
mkVerb_C3 : Str -> Verb_TMP = \lemma ->
|
mkVerb_C3 : Str -> Verb_TMP = \lemma ->
|
||||||
let stem : Str = Predef.tk 1 lemma
|
let
|
||||||
|
stem : Str = Predef.tk 1 lemma
|
||||||
in {
|
in {
|
||||||
s = table {
|
s = table {
|
||||||
Infinitive => stem + "t" ;
|
Infinitive => lemma ; -- stem + "t"
|
||||||
|
|
||||||
Indicative P1 Sg Pres => pal_C3_1 stem + "u" ;
|
Indicative P1 Sg Pres => pal_C3_1 stem + "u" ;
|
||||||
Indicative P1 Sg Fut => stem + "šu" ;
|
Indicative P1 Sg Fut => stem + "šu" ;
|
||||||
Indicative P1 Sg Past => stem + "ju" ;
|
Indicative P1 Sg Past => stem + "ju" ;
|
||||||
Indicative P1 Pl Pres => pal_C3_1 stem + pal_C3_2 stem "am" ;
|
Indicative P1 Pl Pres => pal_C3_1 stem + pal_C3_2 stem "am" ;
|
||||||
Indicative P1 Pl Fut => stem + "sim" ;
|
Indicative P1 Pl Fut => stem + "sim" ;
|
||||||
Indicative P1 Pl Past => stem + "jām" ;
|
Indicative P1 Pl Past => stem + "jām" ;
|
||||||
|
|
||||||
Indicative P2 Sg Pres => pal_C3_1 stem + "i" ;
|
Indicative P2 Sg Pres => pal_C3_1 stem + "i" ;
|
||||||
Indicative P2 Sg Fut => stem + "si" ;
|
Indicative P2 Sg Fut => stem + "si" ;
|
||||||
Indicative P2 Sg Past => stem + "ji" ;
|
Indicative P2 Sg Past => stem + "ji" ;
|
||||||
Indicative P2 Pl Pres => pal_C3_1 stem + pal_C3_2 stem "at" ;
|
Indicative P2 Pl Pres => pal_C3_1 stem + pal_C3_2 stem "at" ;
|
||||||
Indicative P2 Pl Fut => stem + ("siet"|"sit") ;
|
--Indicative P2 Pl Fut => stem + ("siet"|"sit") ;
|
||||||
Indicative P2 Pl Past => stem + "jāt" ;
|
Indicative P2 Pl Fut => stem + "siet" ;
|
||||||
|
Indicative P2 Pl Past => stem + "jāt" ;
|
||||||
|
|
||||||
Indicative P3 _ Pres => pal_C3_5 stem ;
|
Indicative P3 _ Pres => pal_C3_5 stem ;
|
||||||
Indicative P3 _ Fut => stem + "s" ;
|
Indicative P3 _ Fut => stem + "s" ;
|
||||||
Indicative P3 _ Past => stem + "ja" ;
|
Indicative P3 _ Past => stem + "ja" ;
|
||||||
|
|
||||||
Indicative _ _ Cond => stem + "tu";
|
Indicative _ _ Cond => stem + "tu" ;
|
||||||
|
|
||||||
Relative Pres => pal_C3_1 stem + "ot" ;
|
Relative Pres => pal_C3_1 stem + "ot" ;
|
||||||
Relative Fut => stem + "šot" ;
|
Relative Fut => stem + "šot" ;
|
||||||
Relative Past => NON_EXISTENT ;
|
Relative Past => NON_EXISTENT ;
|
||||||
Relative Cond => NON_EXISTENT ;
|
Relative Cond => NON_EXISTENT ;
|
||||||
|
|
||||||
Debitive => pal_C3_3 stem ;
|
Debitive => pal_C3_3 stem ;
|
||||||
|
|
||||||
DebitiveRelative => pal_C3_3 stem + "ot" ;
|
DebitiveRelative => pal_C3_3 stem + "ot" ;
|
||||||
|
|
||||||
Imperative Sg => pal_C3_1 stem + "i" ;
|
Imperative Sg => pal_C3_1 stem + "i" ;
|
||||||
Imperative Pl => pal_C3_1 stem + "iet";
|
Imperative Pl => pal_C3_1 stem + "iet" ;
|
||||||
|
|
||||||
Participle g n c => participle_normal g n c (stem + "j")
|
Participle g n c => mkParticiple g n c (stem + "j")
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- First conjugation: reflexive verbs
|
-- First conjugation: reflexive
|
||||||
-- Ref. to Lexicon.xml (revision 719): 18. paradigma
|
-- Ref. to lexicon.xml (revision 719): 18th paradigm
|
||||||
mkVerb_C1_R : Str -> Str -> Str -> Verb_TMP = \lemma,lemma2,lemma3 ->
|
-- lemma1: Infinitive
|
||||||
|
-- lemma2: Indicative P1 Sg Pres
|
||||||
|
-- lemma3: Indicative P1 Sg Past
|
||||||
|
mkVerb_C1_Refl : Str -> Str -> Str -> Verb_TMP = \lemma1,lemma2,lemma3 ->
|
||||||
let
|
let
|
||||||
stem : Str = Predef.tk 4 lemma ;
|
stem1 : Str = Predef.tk 4 lemma1 ;
|
||||||
stem2 : Str = Predef.tk 2 lemma2 ;
|
stem2 : Str = Predef.tk 2 lemma2 ;
|
||||||
stem3 : Str = Predef.tk 2 lemma3
|
stem3 : Str = Predef.tk 2 lemma3
|
||||||
in {
|
in {
|
||||||
s = table {
|
s = table {
|
||||||
Infinitive => stem + "ties" ;
|
Infinitive => lemma1 ; -- stem + "ties"
|
||||||
|
|
||||||
Indicative P1 Sg Pres => stem2 + "os" ;
|
Indicative P1 Sg Pres => lemma2 ; -- stem2 + "os"
|
||||||
Indicative P1 Sg Fut => pal_C1_1 stem3 stem + "šos" ;
|
Indicative P1 Sg Fut => pal_C1_1 stem3 stem1 + "šos" ;
|
||||||
Indicative P1 Sg Past => stem3 + "os" ;
|
Indicative P1 Sg Past => lemma3 ; -- stem3 + "os"
|
||||||
Indicative P1 Pl Pres => stem2 + "amies" ;
|
Indicative P1 Pl Pres => stem2 + "amies" ;
|
||||||
Indicative P1 Pl Fut => pal_C1_1 stem3 stem + "simies" ;
|
Indicative P1 Pl Fut => pal_C1_1 stem3 stem1 + "simies" ;
|
||||||
Indicative P1 Pl Past => stem3 + "āmies" ;
|
Indicative P1 Pl Past => stem3 + "āmies" ;
|
||||||
|
|
||||||
Indicative P2 Sg Pres => pal_C1_2 stem3 stem2 + "ies" ;
|
Indicative P2 Sg Pres => pal_C1_2 stem3 stem2 + "ies" ;
|
||||||
Indicative P2 Sg Fut => pal_C1_1 stem3 stem + "sies" ;
|
Indicative P2 Sg Fut => pal_C1_1 stem3 stem1 + "sies" ;
|
||||||
Indicative P2 Sg Past => stem3 + "ies" ;
|
Indicative P2 Sg Past => stem3 + "ies" ;
|
||||||
Indicative P2 Pl Pres => stem2 + "aties" ;
|
Indicative P2 Pl Pres => stem2 + "aties" ;
|
||||||
Indicative P2 Pl Fut => pal_C1_1 stem3 stem + ("sieties"|"sities") ;
|
--Indicative P2 Pl Fut => pal_C1_1 stem3 stem1 + ("sieties"|"sities") ;
|
||||||
Indicative P2 Pl Past => stem3 + "āties" ;
|
Indicative P2 Pl Fut => pal_C1_1 stem3 stem1 + "sieties" ;
|
||||||
|
Indicative P2 Pl Past => stem3 + "āties" ;
|
||||||
|
|
||||||
Indicative P3 _ Pres => stem2 + "as" ;
|
Indicative P3 _ Pres => stem2 + "as" ;
|
||||||
Indicative P3 _ Fut => pal_C1_1 stem3 stem + "sies" ;
|
Indicative P3 _ Fut => pal_C1_1 stem3 stem1 + "sies" ;
|
||||||
Indicative P3 _ Past => stem3 + "ās" ;
|
Indicative P3 _ Past => stem3 + "ās" ;
|
||||||
|
|
||||||
Indicative _ _ Cond => stem + "tos";
|
Indicative _ _ Cond => stem1 + "tos" ;
|
||||||
|
|
||||||
Relative Pres => stem2 + "oties" ;
|
Relative Pres => stem2 + "oties" ;
|
||||||
Relative Fut => pal_C1_1 stem3 stem + "šoties" ;
|
Relative Fut => pal_C1_1 stem3 stem1 + "šoties" ;
|
||||||
Relative Past => NON_EXISTENT ;
|
Relative Past => NON_EXISTENT ;
|
||||||
Relative Cond => NON_EXISTENT ;
|
Relative Cond => NON_EXISTENT ;
|
||||||
|
|
||||||
Debitive => "jā" + stem2 + "as" ;
|
Debitive => "jā" + stem2 + "as" ;
|
||||||
|
|
||||||
DebitiveRelative => "jā" + stem2 + "oties" ;
|
DebitiveRelative => "jā" + stem2 + "oties" ;
|
||||||
|
|
||||||
Imperative Sg => pal_C1_2 stem3 stem2 + "ies" ;
|
Imperative Sg => pal_C1_2 stem3 stem2 + "ies" ;
|
||||||
Imperative Pl => pal_C1_2 stem3 stem2 + "ieties" ;
|
Imperative Pl => pal_C1_2 stem3 stem2 + "ieties" ;
|
||||||
|
|
||||||
Participle g n c => participle_reflexive_l g n c (pal_C1_3 stem3) (pal_C1_4 stem3)
|
Participle g n c => mkParticiple_Refl_IesUsies g n c (pal_C1_3 stem3) (pal_C1_4 stem3)
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Second conjugation: reflexive verbs
|
-- Second conjugation: reflexive
|
||||||
-- Ref. to Lexicon.xml (revision 719): 19. paradigma
|
-- Ref. to lexicon.xml (revision 719): 19th paradigm
|
||||||
mkVerb_C2_R : Str -> Verb_TMP = \lemma ->
|
-- lemma: Infinitive
|
||||||
let stem : Str = Predef.tk 4 lemma
|
mkVerb_C2_Refl : Str -> Verb_TMP = \lemma ->
|
||||||
|
let
|
||||||
|
stem : Str = Predef.tk 4 lemma
|
||||||
in {
|
in {
|
||||||
s = table {
|
s = table {
|
||||||
Infinitive => stem + "ties" ;
|
Infinitive => lemma ; -- stem + "ties"
|
||||||
|
|
||||||
Indicative P1 Sg Pres => stem + "jos" ;
|
Indicative P1 Sg Pres => stem + "jos" ;
|
||||||
Indicative P1 Sg Fut => stem + "šos" ;
|
Indicative P1 Sg Fut => stem + "šos" ;
|
||||||
Indicative P1 Sg Past => stem + "jos" ;
|
Indicative P1 Sg Past => stem + "jos" ;
|
||||||
Indicative P1 Pl Pres => stem + "jamies" ;
|
Indicative P1 Pl Pres => stem + "jamies" ;
|
||||||
Indicative P1 Pl Fut => stem + "simies" ;
|
Indicative P1 Pl Fut => stem + "simies" ;
|
||||||
Indicative P1 Pl Past => stem + "jāmies" ;
|
Indicative P1 Pl Past => stem + "jāmies" ;
|
||||||
|
|
||||||
Indicative P2 Sg Pres => stem + "jies" ;
|
Indicative P2 Sg Pres => stem + "jies" ;
|
||||||
Indicative P2 Sg Fut => stem + "sies" ;
|
Indicative P2 Sg Fut => stem + "sies" ;
|
||||||
Indicative P2 Sg Past => stem + "jies" ;
|
Indicative P2 Sg Past => stem + "jies" ;
|
||||||
Indicative P2 Pl Pres => stem + "jaties" ;
|
Indicative P2 Pl Pres => stem + "jaties" ;
|
||||||
Indicative P2 Pl Fut => stem + ("sieties"|"sities") ;
|
--Indicative P2 Pl Fut => stem + ("sieties"|"sities") ;
|
||||||
Indicative P2 Pl Past => stem + "jāties" ;
|
Indicative P2 Pl Fut => stem + "sieties" ;
|
||||||
|
Indicative P2 Pl Past => stem + "jāties" ;
|
||||||
|
|
||||||
Indicative P3 _ Pres => stem + "jas" ;
|
Indicative P3 _ Pres => stem + "jas" ;
|
||||||
Indicative P3 _ Fut => stem + "sies" ;
|
Indicative P3 _ Fut => stem + "sies" ;
|
||||||
Indicative P3 _ Past => stem + "jās" ;
|
Indicative P3 _ Past => stem + "jās" ;
|
||||||
|
|
||||||
Indicative _ _ Cond => stem + "tos";
|
Indicative _ _ Cond => stem + "tos" ;
|
||||||
|
|
||||||
Relative Pres => stem + "joties" ;
|
Relative Pres => stem + "joties" ;
|
||||||
Relative Fut => stem + "šoties" ;
|
Relative Fut => stem + "šoties" ;
|
||||||
Relative Past => NON_EXISTENT ;
|
Relative Past => NON_EXISTENT ;
|
||||||
Relative Cond => NON_EXISTENT ;
|
Relative Cond => NON_EXISTENT ;
|
||||||
|
|
||||||
Debitive => "jā" + stem + "jas" ;
|
Debitive => "jā" + stem + "jas" ;
|
||||||
|
|
||||||
DebitiveRelative => "jā" + stem + "joties" ;
|
DebitiveRelative => "jā" + stem + "joties" ;
|
||||||
|
|
||||||
Imperative Sg => stem + "jies" ;
|
Imperative Sg => stem + "jies" ;
|
||||||
Imperative Pl => stem + "jieties" ;
|
Imperative Pl => stem + "jieties" ;
|
||||||
|
|
||||||
Participle g n c => participle_reflexive g n c (stem + "j")
|
Participle g n c => mkParticiple_Refl g n c (stem + "j")
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Third conjugation: reflexive verbs
|
-- Third conjugation: reflexive
|
||||||
-- Ref. to Lexicon.xml (revision 719): 20. paradigma
|
-- Ref. to lexicon.xml (revision 719): 20th paradigm
|
||||||
mkVerb_C3_R : Str -> Verb_TMP = \lemma ->
|
-- lemma: Infinitive
|
||||||
let stem : Str = Predef.tk 4 lemma
|
mkVerb_C3_Refl : Str -> Verb_TMP = \lemma ->
|
||||||
|
let
|
||||||
|
stem : Str = Predef.tk 4 lemma
|
||||||
in {
|
in {
|
||||||
s = table {
|
s = table {
|
||||||
Infinitive => stem + "ties" ;
|
Infinitive => lemma ; -- stem + "ties"
|
||||||
|
|
||||||
Indicative P1 Sg Pres => pal_C3_1 stem + "os" ;
|
Indicative P1 Sg Pres => pal_C3_1 stem + "os" ;
|
||||||
Indicative P1 Sg Fut => stem + "šos" ;
|
Indicative P1 Sg Fut => stem + "šos" ;
|
||||||
Indicative P1 Sg Past => stem + "jos" ;
|
Indicative P1 Sg Past => stem + "jos" ;
|
||||||
Indicative P1 Pl Pres => pal_C3_4 stem + "mies" ;
|
Indicative P1 Pl Pres => pal_C3_4 stem + "mies" ;
|
||||||
Indicative P1 Pl Fut => stem + "simies" ;
|
Indicative P1 Pl Fut => stem + "simies" ;
|
||||||
Indicative P1 Pl Past => stem + "jāmies" ;
|
Indicative P1 Pl Past => stem + "jāmies" ;
|
||||||
|
|
||||||
Indicative P2 Sg Pres => pal_C3_1 stem + "ies" ;
|
Indicative P2 Sg Pres => pal_C3_1 stem + "ies" ;
|
||||||
Indicative P2 Sg Fut => stem + "sies" ;
|
Indicative P2 Sg Fut => stem + "sies" ;
|
||||||
Indicative P2 Sg Past => stem + "jies" ;
|
Indicative P2 Sg Past => stem + "jies" ;
|
||||||
Indicative P2 Pl Pres => pal_C3_4 stem + "ties" ;
|
Indicative P2 Pl Pres => pal_C3_4 stem + "ties" ;
|
||||||
Indicative P2 Pl Fut => stem + ("sieties"|"sities") ;
|
--Indicative P2 Pl Fut => stem + ("sieties"|"sities") ;
|
||||||
Indicative P2 Pl Past => stem + "jāties" ;
|
Indicative P2 Pl Fut => stem + "sieties" ;
|
||||||
|
Indicative P2 Pl Past => stem + "jāties" ;
|
||||||
|
|
||||||
Indicative P3 _ Pres => pal_C3_4 stem + "s" ;
|
Indicative P3 _ Pres => pal_C3_4 stem + "s" ;
|
||||||
Indicative P3 _ Fut => stem + "sies" ;
|
Indicative P3 _ Fut => stem + "sies" ;
|
||||||
Indicative P3 _ Past => stem + "jās" ;
|
Indicative P3 _ Past => stem + "jās" ;
|
||||||
|
|
||||||
Indicative _ _ Cond => stem + "tos";
|
Indicative _ _ Cond => stem + "tos" ;
|
||||||
|
|
||||||
Relative Pres => pal_C3_1 stem + "oties" ;
|
Relative Pres => pal_C3_1 stem + "oties" ;
|
||||||
Relative Fut => stem + "šoties" ;
|
Relative Fut => stem + "šoties" ;
|
||||||
Relative Past => NON_EXISTENT ;
|
Relative Past => NON_EXISTENT ;
|
||||||
Relative Cond => NON_EXISTENT ;
|
Relative Cond => NON_EXISTENT ;
|
||||||
|
|
||||||
Debitive => pal_C3_6 stem + "s" ;
|
Debitive => pal_C3_6 stem + "s" ;
|
||||||
|
|
||||||
DebitiveRelative => pal_C3_6 stem + "oties" ;
|
DebitiveRelative => pal_C3_6 stem + "oties" ;
|
||||||
|
|
||||||
Imperative Sg => pal_C3_1 stem + "ies" ;
|
Imperative Sg => pal_C3_1 stem + "ies" ;
|
||||||
Imperative Pl => pal_C3_1 stem + "ieties" ;
|
Imperative Pl => pal_C3_1 stem + "ieties" ;
|
||||||
|
|
||||||
Participle g n c => participle_reflexive g n c (stem + "j")
|
Participle g n c => mkParticiple_Refl g n c (stem + "j")
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb_Irreg : Str -> Verb = \lemma ->
|
mkVerb_Irreg : Str -> Verb = \lemma ->
|
||||||
case lemma of {
|
case lemma of {
|
||||||
"būt" => mkVerb_toBe ;
|
"būt" => mkVerb_Irreg_Be ;
|
||||||
"iet" => mkVerb_Walk ;
|
"iet" => mkVerb_Irreg_Walk ;
|
||||||
"gulēt" => mkVerb_Sleep
|
"gulēt" => mkVerb_Irreg_Sleep
|
||||||
|
-- TODO: dot, ..?
|
||||||
|
-- TODO: move to IrregLav?
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb_toBe : Verb = {
|
mkVerb_Irreg_Be : Verb = {
|
||||||
s = table {
|
s = table {
|
||||||
Pos => table {
|
Pos => table {
|
||||||
Indicative P1 Sg Pres => "esmu" ;
|
Indicative P1 Sg Pres => "esmu" ;
|
||||||
Indicative P2 Sg Pres => "esi" ;
|
Indicative P2 Sg Pres => "esi" ;
|
||||||
Indicative P3 _ Pres => "ir" ;
|
Indicative P3 _ Pres => "ir" ;
|
||||||
|
|
||||||
Debitive => "jābūt" ;
|
Debitive => "jābūt" ;
|
||||||
x => (mkVerb_C1 "būt" "esu" "biju").s ! x -- the incorrect form 'esu' will be overriden
|
|
||||||
|
x => (mkVerb_C1 "būt" "esu" "biju").s ! x -- the incorrect 'esu' will be overriden
|
||||||
} ;
|
} ;
|
||||||
Neg => table {
|
Neg => table {
|
||||||
Indicative P1 Sg Pres => "neesmu" ;
|
Indicative P1 Sg Pres => "neesmu" ;
|
||||||
Indicative P2 Sg Pres => "neesi" ;
|
Indicative P2 Sg Pres => "neesi" ;
|
||||||
Indicative P3 _ Pres => "nav" ;
|
Indicative P3 _ Pres => "nav" ;
|
||||||
Debitive => NON_EXISTENT;
|
|
||||||
DebitiveRelative => NON_EXISTENT;
|
Debitive => NON_EXISTENT ;
|
||||||
x => (mkVerb_C1 "nebūt" "neesu" "nebiju").s ! x -- the incorrect form 'neesu' will be overriden
|
|
||||||
|
DebitiveRelative => NON_EXISTENT ;
|
||||||
|
|
||||||
|
x => (mkVerb_C1 "nebūt" "neesu" "nebiju").s ! x -- the incorrect 'neesu' will be overriden
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb_Walk : Verb = {
|
mkVerb_Irreg_Walk : Verb = {
|
||||||
s = table {
|
s = table {
|
||||||
Pos => table {
|
Pos => table {
|
||||||
Indicative P3 _ Pres => "iet" ;
|
Indicative P3 _ Pres => "iet" ;
|
||||||
Debitive => "jāiet" ;
|
Debitive => "jāiet" ;
|
||||||
x => (mkVerb_C1 "iet" "eju" "gāju" ).s ! x -- the incorrect form 'esu' will be overriden
|
x => (mkVerb_C1 "iet" "eju" "gāju" ).s ! x
|
||||||
} ;
|
} ;
|
||||||
Neg => table {
|
Neg => table {
|
||||||
Indicative P3 _ Pres => "neiet" ;
|
Indicative P3 _ Pres => "neiet" ;
|
||||||
Debitive => NON_EXISTENT;
|
Debitive => NON_EXISTENT ;
|
||||||
DebitiveRelative => NON_EXISTENT;
|
DebitiveRelative => NON_EXISTENT ;
|
||||||
x => (mkVerb_C1 "neiet" "neeju" "negāju" ).s ! x -- the incorrect form 'neesu' will be overriden
|
x => (mkVerb_C1 "neiet" "neeju" "negāju" ).s ! x
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkVerb_Sleep : Verb = {
|
mkVerb_Irreg_Sleep : Verb = {
|
||||||
s = table {
|
s = table {
|
||||||
Pos => table {
|
Pos => table {
|
||||||
Indicative P2 Sg Pres => (mkVerb_C3 "gulēt").s ! Indicative P2 Sg Pres;
|
Indicative P2 Sg Pres => (mkVerb_C3 "gulēt").s ! Indicative P2 Sg Pres ;
|
||||||
Indicative p n Pres => (mkVerb_C3 "guļēt").s ! Indicative p n Pres;
|
Indicative p n Pres => (mkVerb_C3 "guļēt").s ! Indicative p n Pres ;
|
||||||
Relative Pres => (mkVerb_C3 "guļēt").s ! Relative Pres;
|
|
||||||
Debitive => (mkVerb_C3 "guļēt").s ! Debitive;
|
-- Here and there: the incorrect 'guļēt' contains intentional palatalization
|
||||||
DebitiveRelative => (mkVerb_C3 "guļēt").s ! DebitiveRelative;
|
|
||||||
|
Relative Pres => (mkVerb_C3 "guļēt").s ! Relative Pres ;
|
||||||
|
|
||||||
|
Debitive => (mkVerb_C3 "guļēt").s ! Debitive ;
|
||||||
|
|
||||||
|
DebitiveRelative => (mkVerb_C3 "guļēt").s ! DebitiveRelative ;
|
||||||
|
|
||||||
x => (mkVerb_C3 "gulēt").s ! x
|
x => (mkVerb_C3 "gulēt").s ! x
|
||||||
} ;
|
} ;
|
||||||
Neg => table {
|
Neg => table {
|
||||||
Indicative P2 Sg Pres => (mkVerb_C3 "negulēt").s ! Indicative P2 Sg Pres;
|
Indicative P2 Sg Pres => (mkVerb_C3 "negulēt").s ! Indicative P2 Sg Pres ;
|
||||||
Indicative p n Pres => (mkVerb_C3 "neguļēt").s ! Indicative p n Pres;
|
Indicative p n Pres => (mkVerb_C3 "neguļēt").s ! Indicative p n Pres ;
|
||||||
Relative Pres => (mkVerb_C3 "neguļēt").s ! Relative Pres;
|
|
||||||
Debitive => NON_EXISTENT;
|
Relative Pres => (mkVerb_C3 "neguļēt").s ! Relative Pres ;
|
||||||
DebitiveRelative => NON_EXISTENT;
|
|
||||||
|
Debitive => NON_EXISTENT ;
|
||||||
|
|
||||||
|
DebitiveRelative => NON_EXISTENT ;
|
||||||
|
|
||||||
x => (mkVerb_C3 "negulēt").s ! x
|
x => (mkVerb_C3 "negulēt").s ! x
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Auxiliaries (palatalization rules)
|
-- Auxiliaries: palatalization rules
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija6
|
-- Ref. to the Java implementation: mija6
|
||||||
pal_C1_1 : Str -> Str -> Str = \stem3,stem ->
|
-- stem3: Indicative P1 Sg Past
|
||||||
case stem of {
|
-- stem1: Infinitive
|
||||||
|
pal_C1_1 : Str -> Str -> Str = \stem3,stem1 ->
|
||||||
|
case stem1 of {
|
||||||
s + "s" => case stem3 of {
|
s + "s" => case stem3 of {
|
||||||
_ + "d" => s + "dī" ;
|
_ + "d" => s + "dī" ;
|
||||||
_ + "t" => s + "tī" ;
|
_ + "t" => s + "tī" ;
|
||||||
_ + "s" => s + "sī" ;
|
_ + "s" => s + "sī" ;
|
||||||
_ => stem
|
_ => stem1
|
||||||
} ;
|
} ;
|
||||||
s + "z" => s + "zī" ; -- lauzt -> lauzīs
|
s + "z" => s + "zī" ; -- e.g. 'lauzt' => 'lauzīs'
|
||||||
_ => stem
|
_ => stem1
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija7
|
-- Ref. to the Java implementation: mija7
|
||||||
pal_C1_2 : Str -> Str -> Str = \stem3,stem ->
|
-- stem3: Indicative P1 Sg Past
|
||||||
case stem of {
|
-- stem2: Indicative P1 Sg Pres
|
||||||
|
pal_C1_2 : Str -> Str -> Str = \stem3,stem2 ->
|
||||||
|
case stem2 of {
|
||||||
s + "š" => case stem3 of {
|
s + "š" => case stem3 of {
|
||||||
_ + "s" => s + "s" ;
|
_ + "s" => s + "s" ;
|
||||||
_ => stem
|
_ => stem2
|
||||||
} ;
|
} ;
|
||||||
s + "t" => case stem of {
|
s + "t" => case stem2 of {
|
||||||
_ + "met" => stem ;
|
_ + "met" => stem2 ;
|
||||||
_ + "cērt" => stem;
|
_ + "cērt" => stem2 ;
|
||||||
_ => s + "ti"
|
_ => s + "ti"
|
||||||
} ;
|
} ;
|
||||||
-- s + "ž" => s + "d" ; -- aizkomentēts jo noveda pie laužu -> laud nevis lauz
|
--s + "ž" => s + "d" ; -- FIXME: 'laužu' => 'lauz' not 'laud'
|
||||||
s + "ļ" => s + "l" ;
|
s + "ļ" => s + "l" ;
|
||||||
s + "mj" => s + "m" ;
|
s + "mj" => s + "m" ;
|
||||||
s + "bj" => s + "b" ;
|
s + "bj" => s + "b" ;
|
||||||
s + "pj" => s + "p" ;
|
s + "pj" => s + "p" ;
|
||||||
s + "k" => s + "c" ;
|
s + "k" => s + "c" ;
|
||||||
s + "g" => s + "dz" ;
|
s + "g" => s + "dz" ;
|
||||||
_ => stem
|
_ => stem2
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija11
|
-- Ref. to the Java implementation: mija11
|
||||||
pal_C1_3 : Str -> Str = \stem ->
|
-- stem3: Indicative P1 Sg Past
|
||||||
case stem of {
|
pal_C1_3 : Str -> Str = \stem3 ->
|
||||||
|
case stem3 of {
|
||||||
s + "c" => s + "k" ;
|
s + "c" => s + "k" ;
|
||||||
s + "dz" => s + "g" ;
|
s + "dz" => s + "g" ;
|
||||||
_ => stem
|
_ => stem3
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija14
|
-- Ref. to the Java implementation: mija14
|
||||||
|
-- stem: Indicative P1 Sg Pres | Indicative P1 Sg Past
|
||||||
pal_C1_4 : Str -> Str = \stem ->
|
pal_C1_4 : Str -> Str = \stem ->
|
||||||
case stem of {
|
case stem of {
|
||||||
s + "k" => s + "c" ;
|
s + "k" => s + "c" ;
|
||||||
_ => stem
|
_ => stem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija2
|
-- Ref. to the Java implementation: mija2
|
||||||
pal_C3_1 : Str -> Str = \stem ->
|
pal_C3_1 : Str -> Str = \stem ->
|
||||||
case stem of {
|
case stem of {
|
||||||
s + "cī" => s + "k" ;
|
s + "cī" => s + "k" ;
|
||||||
_ => Predef.tk 1 stem
|
_ => Predef.tk 1 stem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija2a
|
-- Ref. to the Java implementation: mija2a
|
||||||
@@ -455,21 +504,20 @@ oper
|
|||||||
case stem of {
|
case stem of {
|
||||||
_ + "ī" => "ā" + Predef.dp 1 ending ;
|
_ + "ī" => "ā" + Predef.dp 1 ending ;
|
||||||
_ + "inā" => "ā" + Predef.dp 1 ending ;
|
_ + "inā" => "ā" + Predef.dp 1 ending ;
|
||||||
_ => ending
|
_ => ending
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija5
|
-- Ref. to the Java implementation: mija5
|
||||||
pal_C3_3 : Str -> Str = \stem ->
|
pal_C3_3 : Str -> Str = \stem -> "jā" + pal_C3_5 stem ;
|
||||||
"jā" + pal_C3_5 stem ;
|
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija8
|
-- Ref. to the Java implementation: mija8
|
||||||
pal_C3_4 : Str -> Str = \stem ->
|
pal_C3_4 : Str -> Str = \stem ->
|
||||||
case stem of {
|
case stem of {
|
||||||
s + "inā" => stem ;
|
s + "inā" => stem ;
|
||||||
s + "cī" => s + "kā" ; -- e.g. 'sacīt'
|
s + "cī" => s + "kā" ;
|
||||||
s + "ī" => s + "ā" ;
|
s + "ī" => s + "ā" ;
|
||||||
s + "ē" => s + "a" ;
|
s + "ē" => s + "a" ;
|
||||||
_ => stem
|
_ => stem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija9
|
-- Ref. to the Java implementation: mija9
|
||||||
@@ -477,9 +525,9 @@ oper
|
|||||||
case stem of {
|
case stem of {
|
||||||
s + "dā" => Predef.tk 1 stem ;
|
s + "dā" => Predef.tk 1 stem ;
|
||||||
s + "ā" => s + "a" ;
|
s + "ā" => s + "a" ;
|
||||||
s + "cī" => s + "ka" ; -- e.g. 'sacīt'
|
s + "cī" => s + "ka" ; -- e.g. 'sacīt' => 'saka'
|
||||||
s + "ī" => s + "a" ;
|
s + "ī" => s + "a" ;
|
||||||
_ => Predef.tk 1 stem
|
_ => Predef.tk 1 stem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Ref. to the Java implementation: mija12
|
-- Ref. to the Java implementation: mija12
|
||||||
@@ -489,91 +537,97 @@ oper
|
|||||||
s + "cī" => s + "kā" ;
|
s + "cī" => s + "kā" ;
|
||||||
s + "ī" => s + "ā" ;
|
s + "ī" => s + "ā" ;
|
||||||
s + "inā" => s + "inā" ;
|
s + "inā" => s + "inā" ;
|
||||||
_ => Predef.tk 1 stem + "a"
|
_ => Predef.tk 1 stem + "a"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
-- Participle paradigms
|
-- Participles: non-declinable and partially declinable participles, nominative cases of declinable participles
|
||||||
participle_normal : Gender -> Number -> Case -> Str -> Str = \g,n,c, stem -> participle_normal_l g n c stem stem;
|
-- Declinable participles: syntactic function - attribute => category - adjective
|
||||||
participle_normal_l : Gender -> Number -> Case -> Str -> Str -> Str = \g,n,c, stem, lemma_stem ->
|
-- TODO: declinable participles => adjectives
|
||||||
case g of {
|
-- TODO: -ot, -am, -ām; -dams/dama, -damies/damās; -ošs/oša, -ams/ama, -āms/āma, -ts/ta
|
||||||
Masc => case n of {
|
|
||||||
Sg => case c of {
|
|
||||||
Nom => lemma_stem + "is" ;
|
|
||||||
Gen => stem + "uša" ;
|
|
||||||
Dat => stem + "ušam" ;
|
|
||||||
Acc => stem + "ušu" ;
|
|
||||||
Loc => stem + "ušā" ;
|
|
||||||
Voc => NON_EXISTENT
|
|
||||||
} ;
|
|
||||||
Pl => case c of {
|
|
||||||
Nom => stem + "uši" ;
|
|
||||||
Gen => stem + "ušu" ;
|
|
||||||
Dat => stem + "ušiem" ;
|
|
||||||
Acc => stem + "ušus" ;
|
|
||||||
Loc => stem + "ušos" ;
|
|
||||||
Voc => NON_EXISTENT
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
Fem => case n of {
|
|
||||||
Sg => case c of {
|
|
||||||
Nom => stem + "usi" ;
|
|
||||||
Gen => stem + "ušas" ;
|
|
||||||
Dat => stem + "ušai" ;
|
|
||||||
Acc => stem + "ušu" ;
|
|
||||||
Loc => stem + "ušā" ;
|
|
||||||
Voc => NON_EXISTENT
|
|
||||||
};
|
|
||||||
Pl => case c of {
|
|
||||||
Nom => stem + "ušas" ;
|
|
||||||
Gen => stem + "ušu" ;
|
|
||||||
Dat => stem + "ušām" ;
|
|
||||||
Acc => stem + "ušas" ;
|
|
||||||
Loc => stem + "ušās" ;
|
|
||||||
Voc => NON_EXISTENT
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
|
|
||||||
participle_reflexive : Gender -> Number -> Case -> Str -> Str = \g,n,c, stem -> participle_reflexive_l g n c stem stem;
|
mkParticiple : Gender -> Number -> Case -> Str -> Str = \g,n,c,stem -> mkParticiple_IsUsi g n c stem stem ;
|
||||||
participle_reflexive_l : Gender -> Number -> Case -> Str -> Str -> Str = \g,n,c, stem, lemma_stem ->
|
|
||||||
|
mkParticiple_IsUsi : Gender -> Number -> Case -> Str -> Str -> Str = \g,n,c,stem,stem_lemma ->
|
||||||
case g of {
|
case g of {
|
||||||
Masc => case n of {
|
Masc => case n of {
|
||||||
Sg => case c of {
|
Sg => case c of {
|
||||||
Nom => lemma_stem + "ies" ;
|
Nom => stem_lemma + "is" ;
|
||||||
Gen => NON_EXISTENT ;
|
Gen => stem + "uša" ;
|
||||||
Dat => NON_EXISTENT ;
|
Dat => stem + "ušam" ;
|
||||||
Acc => stem + "ušos" ;
|
Acc => stem + "ušu" ;
|
||||||
Loc => NON_EXISTENT ;
|
Loc => stem + "ušā" ;
|
||||||
Voc => NON_EXISTENT
|
Voc => NON_EXISTENT
|
||||||
} ;
|
} ;
|
||||||
Pl => case c of {
|
Pl => case c of {
|
||||||
Nom => stem + "ušies" ;
|
Nom => stem + "uši" ;
|
||||||
Gen => stem + "ušos" ;
|
Gen => stem + "ušu" ;
|
||||||
Dat => NON_EXISTENT ;
|
Dat => stem + "ušiem" ;
|
||||||
Acc => stem + "ušos" ;
|
Acc => stem + "ušus" ;
|
||||||
Loc => NON_EXISTENT ;
|
Loc => stem + "ušos" ;
|
||||||
Voc => NON_EXISTENT
|
Voc => NON_EXISTENT
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
Fem => case n of {
|
Fem => case n of {
|
||||||
Sg => case c of {
|
Sg => case c of {
|
||||||
Nom => stem + "usies" ;
|
Nom => stem + "usi" ;
|
||||||
Gen => stem + "ušās" ;
|
Gen => stem + "ušas" ;
|
||||||
Dat => NON_EXISTENT ;
|
Dat => stem + "ušai" ;
|
||||||
Acc => stem + "ušos" ;
|
Acc => stem + "ušu" ;
|
||||||
Loc => NON_EXISTENT ;
|
Loc => stem + "ušā" ;
|
||||||
Voc => NON_EXISTENT
|
Voc => NON_EXISTENT
|
||||||
};
|
} ;
|
||||||
Pl => case c of {
|
Pl => case c of {
|
||||||
Nom => stem + "ušās" ;
|
Nom => stem + "ušas" ;
|
||||||
Gen => stem + "ušos" ;
|
Gen => stem + "ušu" ;
|
||||||
Dat => NON_EXISTENT ;
|
Dat => stem + "ušām" ;
|
||||||
Acc => stem + "ušos" ;
|
Acc => stem + "ušas" ;
|
||||||
Loc => NON_EXISTENT ;
|
Loc => stem + "ušās" ;
|
||||||
Voc => NON_EXISTENT
|
Voc => NON_EXISTENT
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
mkParticiple_Refl : Gender -> Number -> Case -> Str -> Str = \g,n,c,stem -> mkParticiple_Refl_IesUsies g n c stem stem ;
|
||||||
|
|
||||||
|
mkParticiple_Refl_IesUsies : Gender -> Number -> Case -> Str -> Str -> Str = \g,n,c,stem,stem_lemma ->
|
||||||
|
case g of {
|
||||||
|
Masc => case n of {
|
||||||
|
Sg => case c of {
|
||||||
|
Nom => stem_lemma + "ies" ;
|
||||||
|
Gen => NON_EXISTENT ;
|
||||||
|
Dat => NON_EXISTENT ;
|
||||||
|
Acc => stem + "ušos" ;
|
||||||
|
Loc => NON_EXISTENT ;
|
||||||
|
Voc => NON_EXISTENT
|
||||||
|
} ;
|
||||||
|
Pl => case c of {
|
||||||
|
Nom => stem + "ušies" ;
|
||||||
|
Gen => stem + "ušos" ;
|
||||||
|
Dat => NON_EXISTENT ;
|
||||||
|
Acc => stem + "ušos" ;
|
||||||
|
Loc => NON_EXISTENT ;
|
||||||
|
Voc => NON_EXISTENT
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
Fem => case n of {
|
||||||
|
Sg => case c of {
|
||||||
|
Nom => stem + "usies" ;
|
||||||
|
Gen => stem + "ušās" ;
|
||||||
|
Dat => NON_EXISTENT ;
|
||||||
|
Acc => stem + "ušos" ;
|
||||||
|
Loc => NON_EXISTENT ;
|
||||||
|
Voc => NON_EXISTENT
|
||||||
|
} ;
|
||||||
|
Pl => case c of {
|
||||||
|
Nom => stem + "ušās" ;
|
||||||
|
Gen => stem + "ušos" ;
|
||||||
|
Dat => NON_EXISTENT ;
|
||||||
|
Acc => stem + "ušos" ;
|
||||||
|
Loc => NON_EXISTENT ;
|
||||||
|
Voc => NON_EXISTENT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ lin
|
|||||||
|
|
||||||
QuestIAdv iadv cl = { s = \\m,p => iadv.s ++ cl.s ! m ! p } ;
|
QuestIAdv iadv cl = { s = \\m,p => iadv.s ++ cl.s ! m ! p } ;
|
||||||
|
|
||||||
QuestIComp icomp np = { s = \\m,p => icomp.s ++ buildVerb mkVerb_toBe m p np.a ++ np.s ! Nom } ;
|
QuestIComp icomp np = { s = \\m,p => icomp.s ++ buildVerb mkVerb_Irreg_Be m p np.a ++ np.s ! Nom } ;
|
||||||
|
|
||||||
IdetQuant idet num = {
|
IdetQuant idet num = {
|
||||||
s = \\g => idet.s ! g ! num.n ++ num.s ! g ! Nom ;
|
s = \\g => idet.s ! g ! num.n ++ num.s ! g ! Nom ;
|
||||||
|
|||||||
@@ -1,10 +1,5 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude
|
--# -path=.:../abstract:../common:../prelude
|
||||||
|
|
||||||
-- This module contains operations that are needed to make the
|
|
||||||
-- resource syntax work. To define everything that is needed to
|
|
||||||
-- implement $Test$, it moreover contains regular lexical
|
|
||||||
-- patterns needed for $Lex$.
|
|
||||||
|
|
||||||
resource ResLav = ParamX ** open Prelude in {
|
resource ResLav = ParamX ** open Prelude in {
|
||||||
|
|
||||||
flags
|
flags
|
||||||
@@ -12,8 +7,6 @@ flags
|
|||||||
coding = utf8 ;
|
coding = utf8 ;
|
||||||
|
|
||||||
param
|
param
|
||||||
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
|
||||||
|
|
||||||
-- Nouns
|
-- Nouns
|
||||||
Case = Nom | Gen | Dat | Acc | Loc | Voc ;
|
Case = Nom | Gen | Dat | Acc | Loc | Voc ;
|
||||||
Gender = Masc | Fem ;
|
Gender = Masc | Fem ;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ flags
|
|||||||
coding = utf8 ;
|
coding = utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
language_title_Utt = ss "Latviešu valoda" ;
|
language_title_Utt = ss "latviešu valoda" ;
|
||||||
|
|
||||||
-- TODO: kā ar loģikā lietotajiem 'visi', 'katrs' ?
|
-- TODO: kā ar loģikā lietotajiem 'visi', 'katrs' ?
|
||||||
every_Det = {
|
every_Det = {
|
||||||
@@ -414,7 +414,7 @@ lin
|
|||||||
always_AdV = mkAdV "vienmēr" ;
|
always_AdV = mkAdV "vienmēr" ;
|
||||||
|
|
||||||
|
|
||||||
how8many_IDet = { s = table { _ => "cik daudz"}; n = Sg }; --TODO jātestē kā to pielieto un vai nevajag vēl kaut ko
|
how8many_IDet = { s = table { _ => "cik"}; n = Sg }; --TODO jātestē kā to pielieto un vai nevajag vēl kaut ko
|
||||||
|
|
||||||
|
|
||||||
everybody_NP = DetCN emptyPl_Det (UseN (mkN "visi"));
|
everybody_NP = DetCN emptyPl_Det (UseN (mkN "visi"));
|
||||||
@@ -424,6 +424,10 @@ lin
|
|||||||
somebody_NP = DetCN emptySg_Det (UseN (mkN "kāds"));
|
somebody_NP = DetCN emptySg_Det (UseN (mkN "kāds"));
|
||||||
something_NP = DetCN emptySg_Det (UseN (mkN "kaut kas"));
|
something_NP = DetCN emptySg_Det (UseN (mkN "kaut kas"));
|
||||||
|
|
||||||
|
have_V2 = mkV2 (mkV "būt") nom_Prep ;
|
||||||
|
can8know_VV, can_VV = mkV "varēt" third_conjugation ;
|
||||||
|
must_VV = mkV "vajadzēt" third_conjugation ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
reflPron : Case => Str = table {
|
reflPron : Case => Str = table {
|
||||||
Nom => NON_EXISTENT;
|
Nom => NON_EXISTENT;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
--# -path=.:../abstract:../common:../prelude
|
--# -path=.:../abstract:../common:../prelude
|
||||||
|
|
||||||
-- FIXME: module relations. VerbLav is included in many places because of buildVerb,
|
-- FIXME: module relations. VerbLav is included in many places because of buildVerb,
|
||||||
-- and includes ParadigmsVerbsLav because of mkVerb_toBe -
|
-- and includes ParadigmsVerbsLav because of mkVerb_Irreg_Be -
|
||||||
-- they need to be reallocated somehow to ResLav or something similar.
|
-- they need to be reallocated somehow to ResLav or something similar.
|
||||||
-- Not so simple since morphology itself needs ResLav & friends.
|
-- Not so simple since morphology itself needs ResLav & friends.
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ lin
|
|||||||
|
|
||||||
ReflVP vp = insertObjPre (\\a => vp.p.s ++ reflPron ! (vp.p.c ! (fromAgr a).n)) vp ;
|
ReflVP vp = insertObjPre (\\a => vp.p.s ++ reflPron ! (vp.p.c ! (fromAgr a).n)) vp ;
|
||||||
|
|
||||||
UseComp comp = { v = lin V mkVerb_toBe ; s2 = \\agr => comp.s ! agr } ;
|
UseComp comp = { v = lin V mkVerb_Irreg_Be ; s2 = \\agr => comp.s ! agr } ;
|
||||||
|
|
||||||
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
||||||
AdVVP adv vp = insertObjPre (\\_ => adv.s) vp ;
|
AdVVP adv vp = insertObjPre (\\_ => adv.s) vp ;
|
||||||
@@ -81,21 +81,21 @@ oper
|
|||||||
in case mood of {
|
in case mood of {
|
||||||
Ind Simul tense => v.s ! pol ! (Indicative ag.p ag.n tense)
|
Ind Simul tense => v.s ! pol ! (Indicative ag.p ag.n tense)
|
||||||
; --# notpresent
|
; --# notpresent
|
||||||
Ind Anter tense => mkVerb_toBe.s ! pol ! (Indicative ag.p ag.n tense) ++ part ; --# notpresent
|
Ind Anter tense => mkVerb_Irreg_Be.s ! pol ! (Indicative ag.p ag.n tense) ++ part ; --# notpresent
|
||||||
|
|
||||||
-- FIXME(?): Rel _ Past => ...
|
-- FIXME(?): Rel _ Past => ...
|
||||||
Rel _ Past => ResLav.NON_EXISTENT ; --# notpresent
|
Rel _ Past => ResLav.NON_EXISTENT ; --# notpresent
|
||||||
Rel Simul tense => v.s ! pol ! (Relative tense) ; --# notpresent
|
Rel Simul tense => v.s ! pol ! (Relative tense) ; --# notpresent
|
||||||
Rel Anter tense => mkVerb_toBe.s ! pol ! (Relative tense) ++ part ; --# notpresent
|
Rel Anter tense => mkVerb_Irreg_Be.s ! pol ! (Relative tense) ++ part ; --# notpresent
|
||||||
|
|
||||||
Deb Simul tense => mkVerb_toBe.s ! pol ! (Indicative P3 Sg tense) ++ --# notpresent
|
Deb Simul tense => mkVerb_Irreg_Be.s ! pol ! (Indicative P3 Sg tense) ++ --# notpresent
|
||||||
v.s ! ResLav.Pos ! Debitive ; --# notpresent
|
v.s ! ResLav.Pos ! Debitive ; --# notpresent
|
||||||
Deb Anter tense => mkVerb_toBe.s ! pol ! (Indicative P3 Sg tense) ++ --# notpresent
|
Deb Anter tense => mkVerb_Irreg_Be.s ! pol ! (Indicative P3 Sg tense) ++ --# notpresent
|
||||||
mkVerb_toBe.s ! ResLav.Pos ! (Participle Masc Sg Nom) ++ --# notpresent
|
mkVerb_Irreg_Be.s ! ResLav.Pos ! (Participle Masc Sg Nom) ++ --# notpresent
|
||||||
v.s ! ResLav.Pos ! Debitive ; --# notpresent
|
v.s ! ResLav.Pos ! Debitive ; --# notpresent
|
||||||
|
|
||||||
Condit Simul => v.s ! pol ! (Indicative ag.p ag.n ParamX.Cond) ; --# notpresent
|
Condit Simul => v.s ! pol ! (Indicative ag.p ag.n ParamX.Cond) ; --# notpresent
|
||||||
Condit Anter => mkVerb_toBe.s ! pol ! (Indicative ag.p ag.n ParamX.Cond) ++ part --# notpresent
|
Condit Anter => mkVerb_Irreg_Be.s ! pol ! (Indicative ag.p ag.n ParamX.Cond) ++ part --# notpresent
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- TODO: nav testēts
|
-- TODO: nav testēts
|
||||||
|
|||||||
Reference in New Issue
Block a user