mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
added DocumentationSlv
This commit is contained in:
@@ -54,6 +54,7 @@ lincat
|
||||
|
||||
N = {s : Case => Number => Str; g : AGender};
|
||||
N2 = {s : Case => Number => Str; g : AGender; c : Prep} ;
|
||||
N3 = {s : Case => Number => Str; g : AGender; c : Prep} ;
|
||||
|
||||
PN = {s : Case => Str; g : AGender; n : Number};
|
||||
|
||||
|
||||
227
src/slovenian/DocumentationSlv.gf
Normal file
227
src/slovenian/DocumentationSlv.gf
Normal file
@@ -0,0 +1,227 @@
|
||||
--# -path=.:../abstract:../common
|
||||
concrete DocumentationSlv of Documentation = CatSlv,LexiconSlv ** open
|
||||
ResSlv,
|
||||
HTML in {
|
||||
flags coding=utf8 ;
|
||||
|
||||
lincat
|
||||
Inflection = {t : Str; s1,s2 : Str} ;
|
||||
Definition = {s : Str} ;
|
||||
Document = {s : Str} ;
|
||||
Tag = {s : Str} ;
|
||||
|
||||
lin
|
||||
InflectionN,InflectionN2,InflectionN3 = \n -> {
|
||||
t = "sam" ;
|
||||
s1= heading1 ("Samostalnik"++
|
||||
case n.g of {
|
||||
AMasc Animate => "(m.s.ž.)" ;
|
||||
AMasc Inanimate => "(m.s.)" ;
|
||||
AFem => "(ž.s.)" ;
|
||||
ANeut => "(s.s.)"
|
||||
}) ;
|
||||
s2= frameTable (
|
||||
tr (th "" ++ th "ednina" ++ th "dvojina" ++ th "množina") ++
|
||||
tr (th "imen." ++ td (n.s!Nom!Sg) ++ td (n.s!Nom!Dl) ++ td (n.s!Nom!Pl))++
|
||||
tr (th "rod." ++ td (n.s!Gen!Sg) ++ td (n.s!Gen!Dl) ++ td (n.s!Gen!Pl))++
|
||||
tr (th "daj." ++ td (n.s!Dat!Sg) ++ td (n.s!Dat!Dl) ++ td (n.s!Dat!Pl))++
|
||||
tr (th "tož." ++ td (n.s!Acc!Sg) ++ td (n.s!Acc!Dl) ++ td (n.s!Acc!Pl))++
|
||||
tr (th "mest." ++ td (n.s!Loc!Sg) ++ td (n.s!Loc!Dl) ++ td (n.s!Loc!Pl))++
|
||||
tr (th "orod."++td (n.s!Instr!Sg)++td (n.s!Instr!Dl)++td (n.s!Instr!Pl))
|
||||
)
|
||||
} ;
|
||||
|
||||
InflectionA, InflectionA2 = \a -> {
|
||||
t = "pr" ;
|
||||
s1= heading1 ("Pridevnik") ;
|
||||
s2= heading2 ("Osnovnik") ++
|
||||
mkTable APosit ++
|
||||
paragraph ("Določen: "++a.s!APositDefNom) ++
|
||||
heading2 ("Primernik") ++
|
||||
mkTable ACompar ++
|
||||
paragraph ("Določen: "++a.s!AComparDefAcc)
|
||||
}
|
||||
where {
|
||||
mkTable : (Gender -> Number -> Case -> AForm) -> Str = \form ->
|
||||
frameTable (
|
||||
tr (intagAttr "th" "colspan=\"2\"" ""++th "imen."++th "rod."++th "daj."++th "tož."++th "mest."++th "orod.")++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "m.s."++
|
||||
th "edn."++td (a.s!form Masc Sg Nom)++td (a.s!form Masc Sg Gen)++td (a.s!form Masc Sg Dat)++td (a.s!form Masc Sg Acc)++td (a.s!form Masc Sg Loc)++td (a.s!form Masc Sg Instr)) ++
|
||||
tr (th "dvo."++td (a.s!form Masc Dl Nom)++td (a.s!form Masc Dl Gen)++td (a.s!form Masc Dl Dat)++td (a.s!form Masc Dl Acc)++td (a.s!form Masc Dl Loc)++td (a.s!form Masc Dl Instr)) ++
|
||||
tr (th "mno."++td (a.s!form Masc Pl Nom)++td (a.s!form Masc Pl Gen)++td (a.s!form Masc Pl Dat)++td (a.s!form Masc Pl Acc)++td (a.s!form Masc Pl Loc)++td (a.s!form Masc Pl Instr)) ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "ž.s."++
|
||||
th "edn."++td (a.s!form Fem Sg Nom)++td (a.s!form Fem Sg Gen)++td (a.s!form Fem Sg Dat)++td (a.s!form Fem Sg Acc)++td (a.s!form Fem Sg Loc)++td (a.s!form Fem Sg Instr)) ++
|
||||
tr (th "dvo."++td (a.s!form Fem Dl Nom)++td (a.s!form Fem Dl Gen)++td (a.s!form Fem Dl Dat)++td (a.s!form Fem Dl Acc)++td (a.s!form Fem Dl Loc)++td (a.s!form Fem Dl Instr)) ++
|
||||
tr (th "mno."++td (a.s!form Fem Pl Nom)++td (a.s!form Fem Pl Gen)++td (a.s!form Fem Pl Dat)++td (a.s!form Fem Pl Acc)++td (a.s!form Fem Pl Loc)++td (a.s!form Fem Pl Instr)) ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "s.s."++
|
||||
th "edn."++td (a.s!form Neut Sg Nom)++td (a.s!form Neut Sg Gen)++td (a.s!form Neut Sg Dat)++td (a.s!form Neut Sg Acc)++td (a.s!form Neut Sg Loc)++td (a.s!form Neut Sg Instr)) ++
|
||||
tr (th "dvo."++td (a.s!form Neut Dl Nom)++td (a.s!form Neut Dl Gen)++td (a.s!form Neut Dl Dat)++td (a.s!form Neut Dl Acc)++td (a.s!form Neut Dl Loc)++td (a.s!form Neut Dl Instr)) ++
|
||||
tr (th "mno."++td (a.s!form Neut Pl Nom)++td (a.s!form Neut Pl Gen)++td (a.s!form Neut Pl Dat)++td (a.s!form Neut Pl Acc)++td (a.s!form Neut Pl Loc)++td (a.s!form Neut Pl Instr))
|
||||
)
|
||||
} ;
|
||||
|
||||
InflectionAdv = \adv -> {
|
||||
t = "prs" ;
|
||||
s1= heading1 ("Prislov") ;
|
||||
s2= paragraph (adv.s)
|
||||
} ;
|
||||
|
||||
InflectionPrep = \prep -> {
|
||||
t = "pr" ;
|
||||
s1= heading1 ("Predlog") ;
|
||||
s2= paragraph (prep.s)
|
||||
} ;
|
||||
|
||||
InflectionV v = {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++ v.refl ++ v.p ;
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionV2 v = {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++ v.refl ++ v.p ++
|
||||
v.c2.s ++ pp "predmet";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionV3 v = {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++ v.refl ++ v.p ++
|
||||
v.c2.s ++ pp "predmet" ++ v.c3.s ++ pp "predmet";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionV2V v = {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++ v.refl ++ v.p ++
|
||||
pp "predmet" ++ pp "glagol";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionV2S v = {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++ v.refl ++ v.p ++
|
||||
pp "predmet" ++ pp "stavek";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionV2Q v = {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++ v.refl ++ v.p ++
|
||||
pp "predmet" ++ pp "vprašanje";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionV2A v = {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++ v.refl ++ v.p ++
|
||||
pp "predmet" ++ pp "pridevnik";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionVV = \v -> {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++
|
||||
pp "glagol";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionVS = \v -> {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++
|
||||
pp "stavek";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionVQ = \v -> {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++
|
||||
pp "vprašanje";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
InflectionVA = \v -> {
|
||||
t = "gl" ;
|
||||
s1= heading1 ("Glagol") ++
|
||||
pp "osebek" ++ v.s ! VPres Sg P3 ++
|
||||
pp "pridevnik";
|
||||
s2= inflVerb v.s
|
||||
} ;
|
||||
|
||||
oper
|
||||
inflVerb : (VForm => Str) -> Str = \v ->
|
||||
(heading2 ("Infinitiv") ++
|
||||
paragraph (v ! VInf) ++
|
||||
heading2 ("Supínum") ++
|
||||
paragraph (v ! VSup) ++
|
||||
heading2 ("Prítomný čas") ++
|
||||
finite VPres ++
|
||||
heading2 ("Príčastie") ++
|
||||
frameTable (
|
||||
tr (th "" ++
|
||||
th "ednina" ++
|
||||
th "dvojina" ++
|
||||
th "množina") ++
|
||||
tr (th "m.s."++td (v!VPastPart Masc Sg)++td (v!VPastPart Masc Dl)++td (v!VPastPart Masc Pl)) ++
|
||||
tr (th "ž.s."++td (v!VPastPart Fem Sg)++td (v!VPastPart Fem Dl)++td (v!VPastPart Fem Pl)) ++
|
||||
tr (th "s.s."++td (v!VPastPart Neut Sg)++td (v!VPastPart Neut Dl)++td (v!VPastPart Neut Pl))
|
||||
)++
|
||||
heading2 ("Velelnik")++
|
||||
frameTable (
|
||||
tr (th "" ++
|
||||
th "ednina" ++
|
||||
th "dvojina" ++
|
||||
th "množina") ++
|
||||
tr (th "1 os." ++
|
||||
td (v ! VImper1Sg) ++
|
||||
td (v ! VImper1Dl) ++
|
||||
td "") ++
|
||||
tr (th "2 os." ++
|
||||
td (v ! VImper2 Sg) ++
|
||||
td (v ! VImper2 Dl) ++
|
||||
td (v ! VImper2 Pl))
|
||||
))
|
||||
where {
|
||||
finite : (Number -> Person -> VForm) -> Str = \f ->
|
||||
frameTable (
|
||||
tr (th "" ++
|
||||
th "ednina" ++
|
||||
th "dvojina" ++
|
||||
th "množina") ++
|
||||
tr (th "1 os." ++
|
||||
td (v ! f Sg P1) ++
|
||||
td (v ! f Dl P1) ++
|
||||
td (v ! f Pl P1)) ++
|
||||
tr (th "2 os." ++
|
||||
td (v ! f Sg P2) ++
|
||||
td (v ! f Dl P2) ++
|
||||
td (v ! f Pl P2)) ++
|
||||
tr (th "3 os." ++
|
||||
td (v ! f Sg P3) ++
|
||||
td (v ! f Dl P3) ++
|
||||
td (v ! f Pl P3))
|
||||
) ;
|
||||
} ;
|
||||
|
||||
pp : Str -> Str = \s -> "<"+s+">";
|
||||
|
||||
lin
|
||||
NoDefinition t = {s=t.s};
|
||||
MkDefinition t d = {s="<p><b>Definicija:</b>"++t.s++d.s++"</p>"};
|
||||
MkDefinitionEx t d e = {s="<p><b>Definicija:</b>"++t.s++d.s++"</p><p><b>Primer:</b>"++e.s++"</p>"};
|
||||
|
||||
lin
|
||||
MkDocument d i e = {s = i.s1 ++ d.s ++ i.s2 ++ e.s} ;
|
||||
MkTag i = {s = i.t} ;
|
||||
}
|
||||
Reference in New Issue
Block a user