added InflectionCl in some languages

This commit is contained in:
Krasimir Angelov
2026-08-29 18:25:38 +02:00
parent c7ddbd2fc6
commit 5587c14083
5 changed files with 232 additions and 1 deletions
+105
View File
@@ -182,6 +182,111 @@ lin
s3= ""
} ;
InflectionCl = \cl -> {
t = "изр" ;
s1 = heading1 ("Изречение") ;
s2 =
heading2 "Изявително Наклонение" ++
frameTable (
tr (intagAttr "th" "colspan=\"3\"" "Акционни времена" ++
intagAttr "th" "colspan=\"3\"" "Резултативни времена") ++
tr (th "" ++ th "съобщително" ++ th "въпросително" ++
th "" ++ th "съобщително" ++ th "въпросително") ++
tr (intagAttr "th" "rowspan=\"2\"" "сегашно" ++
td (cl.s ! VPresent ! Simul ! Pos ! Main) ++
td (cl.s ! VPresent ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\"" "минало неопределено" ++
td (cl.s ! VPresent ! Anter ! Pos ! Main) ++
td (cl.s ! VPresent ! Anter ! Pos ! Quest)) ++
tr (td (cl.s ! VPresent ! Simul ! Neg ! Main) ++
td (cl.s ! VPresent ! Simul ! Neg ! Quest) ++
td (cl.s ! VPresent ! Anter ! Neg ! Main) ++
td (cl.s ! VPresent ! Anter ! Neg ! Quest)) ++
tr (intagAttr "th" "rowspan=\"2\"" "минало несвършено" ++
td (cl.s ! (VPastImperfect Indicative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VPastImperfect Indicative) ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\"" "минало предварително" ++
td (cl.s ! (VPastImperfect Indicative) ! Anter ! Pos ! Main) ++
td (cl.s ! (VPastImperfect Indicative) ! Anter ! Pos ! Quest)) ++
tr (td (cl.s ! (VPastImperfect Indicative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VPastImperfect Indicative) ! Simul ! Neg ! Quest) ++
td (cl.s ! (VPastImperfect Indicative) ! Anter ! Neg ! Main) ++
td (cl.s ! (VPastImperfect Indicative) ! Anter ! Neg ! Quest)) ++
tr (intagAttr "th" "rowspan=\"2\"" "минало свършено" ++
td (cl.s ! (VPastSimple Indicative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VPastSimple Indicative) ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\" colspan=\"3\"" "") ++
tr (td (cl.s ! (VPastSimple Indicative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VPastSimple Indicative) ! Simul ! Neg ! Quest)) ++
tr (intagAttr "th" "rowspan=\"2\"" "бъдеще" ++
td (cl.s ! (VFut Indicative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VFut Indicative) ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\"" "бъдеще предварително" ++
td (cl.s ! (VFut Indicative) ! Anter ! Pos ! Main) ++
td (cl.s ! (VFut Indicative) ! Anter ! Pos ! Quest)) ++
tr (td (cl.s ! (VFut Indicative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VFut Indicative) ! Simul ! Neg ! Quest) ++
td (cl.s ! (VFut Indicative) ! Anter ! Neg ! Main) ++
td (cl.s ! (VFut Indicative) ! Anter ! Neg ! Quest)) ++
tr (intagAttr "th" "rowspan=\"2\"" "бъдеще в миналото" ++
td (cl.s ! (VPastFut) ! Simul ! Pos ! Main) ++
td (cl.s ! (VPastFut) ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\"" "бъдеще предв. в миналото" ++
td (cl.s ! VPastFut ! Anter ! Pos ! Main) ++
td (cl.s ! VPastFut ! Anter ! Pos ! Quest)) ++
tr (td (cl.s ! VPastFut ! Simul ! Neg ! Main) ++
td (cl.s ! VPastFut ! Simul ! Neg ! Quest) ++
td (cl.s ! VPastFut ! Anter ! Neg ! Main) ++
td (cl.s ! VPastFut ! Anter ! Neg ! Quest))) ++
heading3 "Условно Наклонение" ++
frameTable (
tr (th "съобщително" ++ th "въпросително") ++
tr (td (cl.s ! (VCond Indicative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VCond Indicative) ! Simul ! Pos ! Quest)) ++
tr (td (cl.s ! (VCond Indicative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VCond Indicative) ! Simul ! Neg ! Quest))) ++
heading2 "Преизказни Форми" ++
frameTable (
tr (intagAttr "th" "colspan=\"3\"" "Акционни времена" ++
intagAttr "th" "colspan=\"3\"" "Резултативни времена") ++
tr (th "" ++ th "съобщително" ++ th "въпросително" ++
th "" ++ th "съобщително" ++ th "въпросително") ++
tr (intagAttr "th" "rowspan=\"2\"" "сегашно / минало несвършено" ++
td (cl.s ! (VPastImperfect Renarrative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VPastImperfect Renarrative) ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\"" "минало неопределено/предварително" ++
td (cl.s ! (VPastImperfect Renarrative) ! Anter ! Pos ! Main) ++
td (cl.s ! (VPastImperfect Renarrative) ! Anter ! Pos ! Quest)) ++
tr (td (cl.s ! (VPastImperfect Renarrative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VPastImperfect Renarrative) ! Simul ! Neg ! Quest) ++
td (cl.s ! (VPastImperfect Renarrative) ! Anter ! Neg ! Main) ++
td (cl.s ! (VPastImperfect Renarrative) ! Anter ! Neg ! Quest)) ++
tr (intagAttr "th" "rowspan=\"2\"" "минало свършено" ++
td (cl.s ! (VPastSimple Renarrative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VPastSimple Renarrative) ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\" colspan=\"3\"" "") ++
tr (td (cl.s ! (VPastSimple Renarrative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VPastSimple Renarrative) ! Simul ! Neg ! Quest)) ++
tr (intagAttr "th" "rowspan=\"2\"" "бъдеще / бъдеще в миналото" ++
td (cl.s ! (VFut Renarrative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VFut Renarrative) ! Simul ! Pos ! Quest) ++
intagAttr "th" "rowspan=\"2\"" "бъдеще предв. / бъдеще предв. в миналото" ++
td (cl.s ! (VFut Renarrative) ! Anter ! Pos ! Main) ++
td (cl.s ! (VFut Renarrative) ! Anter ! Pos ! Quest)) ++
tr (td (cl.s ! (VFut Renarrative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VFut Renarrative) ! Simul ! Neg ! Quest) ++
td (cl.s ! (VFut Renarrative) ! Anter ! Neg ! Main) ++
td (cl.s ! (VFut Renarrative) ! Anter ! Neg ! Quest))) ++
heading3 "Условно Наклонение" ++
frameTable (
tr (th "съобщително" ++ th "въпросително") ++
tr (td (cl.s ! (VCond Renarrative) ! Simul ! Pos ! Main) ++
td (cl.s ! (VCond Renarrative) ! Simul ! Pos ! Quest)) ++
tr (td (cl.s ! (VCond Renarrative) ! Simul ! Neg ! Main) ++
td (cl.s ! (VCond Renarrative) ! Simul ! Neg ! Quest))) ;
s3 = ""
} ;
InflectionV v = {
t = "гл" ;
s1= heading1 ("Глагол") ++
+27
View File
@@ -111,6 +111,21 @@ lin
s3= ""
} ;
InflectionCl = \cl -> {
t = "cl" ;
s1 = heading1 "Clause" ;
s2 = frameTable (
tr (intagAttr "th" "colspan=\"3\"" "Simple tenses" ++
intagAttr "th" "colspan=\"3\"" "Perfect tenses") ++
tr (th "tense" ++ th "declarative" ++ th "interrogative" ++
th "tense" ++ th "declarative" ++ th "interrogative") ++
inflClauseTense "present" "present perfect" Pres cl ++
inflClauseTense "past" "past perfect" Past cl ++
inflClauseTense "future" "future perfect" Fut cl ++
inflClauseTense "conditional" "conditional perfect" Cond cl
)
} ;
InflectionV v = {
t = "v" ;
s1= heading1 "Verb" ++
@@ -227,6 +242,18 @@ lin
} ;
oper
inflClauseTense : Str -> Str -> ResEng.Tense -> Cl -> Str = \simple,perfect,tense,cl ->
tr (intagAttr "th" "rowspan=\"2\"" simple ++
td (cl.s ! tense ! Simul ! CPos ! ODir False) ++
td (cl.s ! tense ! Simul ! CPos ! OQuest) ++
intagAttr "th" "rowspan=\"2\"" perfect ++
td (cl.s ! tense ! Anter ! CPos ! ODir False) ++
td (cl.s ! tense ! Anter ! CPos ! OQuest)) ++
tr (td (cl.s ! tense ! Simul ! CNeg True ! ODir False) ++
td (cl.s ! tense ! Simul ! CNeg True ! OQuest) ++
td (cl.s ! tense ! Anter ! CNeg True ! ODir False) ++
td (cl.s ! tense ! Anter ! CNeg True ! OQuest)) ;
inflVerb : Verb -> Str = \verb ->
frameTable (
tr (th "infinitive" ++ td (verb.s ! VInf)) ++
+37
View File
@@ -80,6 +80,29 @@ lin
s2 = paragraph ((S.mkAdv (lin Prep p) S.it_NP).s ++ ";" ++ (S.mkAdv (lin Prep p) S.we_NP).s)
} ;
InflectionCl = \cl -> {
t = "lause" ;
s1 = heading1 "Lause" ;
s2 = frameTable (
tr (intagAttr "th" "colspan=3" "Yksinkertaiset aikamuodot" ++
intagAttr "th" "colspan=3" "Perfektimuodot") ++
tr (th "aikamuoto" ++ th "väitelause" ++ th "kysymys" ++
th "aikamuoto" ++ th "väitelause" ++ th "kysymys") ++
inflClauseTense (heading present_Parameter)
(heading present_Parameter ++ " " ++ heading perfect_Parameter)
Pres cl ++
inflClauseTense (heading past_Parameter)
(heading past_Parameter ++ " " ++ heading perfect_Parameter)
Past cl ++
inflClauseTense (heading future_Parameter)
(heading future_Parameter ++ " " ++ heading perfect_Parameter)
Fut cl ++
inflClauseTense (heading conditional_Parameter)
(heading conditional_Parameter ++ " " ++ heading perfect_Parameter)
Cond cl
)
} ;
InflectionV v = {
t = "v" ;
s1 = heading1 (heading verb_Category) ++
@@ -159,6 +182,20 @@ lin
oper
verbExample : CatFin.Cl -> Str = \cl -> (S.mkUtt cl).s ;
inflClauseTense : Str -> Str -> ResFin.Tense -> CatFin.Cl -> Str =
\simple,perfect,tense,cl ->
tr (intagAttr "th" "rowspan=2" simple ++
td (cl.s ! tense ! Simul ! Pos ! SDecl) ++
td (cl.s ! tense ! Simul ! Pos ! SQuest) ++
intagAttr "th" "rowspan=2" perfect ++
td (cl.s ! tense ! Anter ! Pos ! SDecl) ++
td (cl.s ! tense ! Anter ! Pos ! SQuest)) ++
tr (td (cl.s ! tense ! Simul ! Neg ! SDecl) ++
td (cl.s ! tense ! Simul ! Neg ! SQuest) ++
td (cl.s ! tense ! Anter ! Neg ! SDecl) ++
td (cl.s ! tense ! Anter ! Neg ! SQuest)) ;
{-
-} --# notpresent
inflVerb : SVerb1 -> Str = \verb0 ->
+36 -1
View File
@@ -134,6 +134,29 @@ lin
s2 = paragraph (S.mkAdv (lin Prep p) (S.mkNP S.a_Det L.computer_N)).s
} ;
InflectionCl = \cl -> {
t = "satz" ;
s1 = heading1 "Satz" ;
s2 = frameTable (
tr (intagAttr "th" "colspan=3" "Einfache Tempora" ++
intagAttr "th" "colspan=3" "Perfekte Tempora") ++
tr (th "Tempus" ++ th "Aussage" ++ th "Frage" ++
th "Tempus" ++ th "Aussage" ++ th "Frage") ++
inflClauseTense (heading present_Parameter)
(heading present_Parameter ++ " " ++ heading perfect_Parameter)
Pres cl ++
inflClauseTense (heading past_Parameter)
(heading past_Parameter ++ " " ++ heading perfect_Parameter)
Past cl ++
inflClauseTense (heading future_Parameter)
(heading future_Parameter ++ " " ++ heading perfect_Parameter)
Fut cl ++
inflClauseTense (heading conditional_Parameter)
(heading conditional_Parameter ++ " " ++ heading perfect_Parameter)
Cond cl
)
} ;
InflectionV v = {
t = "v" ;
s1 = heading1 (heading verb_Category) ++
@@ -213,7 +236,19 @@ lin
MkDocument d i e = ss (i.s1 ++ d.s ++ i.s2 ++ paragraph e.s) ; -- explanation appended in a new paragraph
MkTag i = ss i.t ;
oper
oper
inflClauseTense : Str -> Str -> ResGer.Tense -> Cl -> Str = \simple,perfect,tense,cl ->
tr (intagAttr "th" "rowspan=2" simple ++
td (cl.s ! MIndic ! tense ! Simul ! Pos ! Main) ++
td (cl.s ! MIndic ! tense ! Simul ! Pos ! Inv) ++
intagAttr "th" "rowspan=2" perfect ++
td (cl.s ! MIndic ! tense ! Anter ! Pos ! Main) ++
td (cl.s ! MIndic ! tense ! Anter ! Pos ! Inv)) ++
tr (td (cl.s ! MIndic ! tense ! Simul ! Neg ! Main) ++
td (cl.s ! MIndic ! tense ! Simul ! Neg ! Inv) ++
td (cl.s ! MIndic ! tense ! Anter ! Neg ! Main) ++
td (cl.s ! MIndic ! tense ! Anter ! Neg ! Inv)) ;
verbExample : CatGer.Cl -> Str = \cl ->
(S.mkUtt cl).s
++ ";" ++ (S.mkUtt (S.mkS S.anteriorAnt cl)).s --# notpresent
+27
View File
@@ -111,6 +111,21 @@ lin
s2 = paragraph p.s
} ;
InflectionCl = \cl -> {
t = "sats" ;
s1 = heading1 "Sats" ;
s2 = frameTable (
tr (intagAttr "th" "colspan=3" "Enkla tempus" ++
intagAttr "th" "colspan=3" "Perfekta tempus") ++
tr (th "tempus" ++ th "påstående" ++ th "fråga" ++
th "tempus" ++ th "påstående" ++ th "fråga") ++
inflClauseTense "presens" "perfekt" SPres cl ++
inflClauseTense "preteritum" "pluskvamperfekt" SPast cl ++
inflClauseTense "framtid" "framtid perfekt" SFut cl ++
inflClauseTense "konditionalis" "konditionalis perfekt" SCond cl
)
} ;
InflectionV v = {
t = "v" ;
s1 = heading1 "Verb" ++
@@ -223,6 +238,18 @@ lin
MkTag i = {s = i.t} ;
oper
inflClauseTense : Str -> Str -> STense -> Cl -> Str = \simple,perfect,tense,cl ->
tr (intagAttr "th" "rowspan=2" simple ++
td (cl.s ! tense ! Simul ! Pos ! Main) ++
td (cl.s ! tense ! Simul ! Pos ! Inv) ++
intagAttr "th" "rowspan=2" perfect ++
td (cl.s ! tense ! Anter ! Pos ! Main) ++
td (cl.s ! tense ! Anter ! Pos ! Inv)) ++
tr (td (cl.s ! tense ! Simul ! Neg ! Main) ++
td (cl.s ! tense ! Simul ! Neg ! Inv) ++
td (cl.s ! tense ! Anter ! Neg ! Main) ++
td (cl.s ! tense ! Anter ! Neg ! Inv)) ;
inflVerb : Verb -> Str = \verb ->
frameTable (
tr (th "" ++ th "active" ++ th "passive") ++