mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-20 10:19:32 -06:00
226 lines
6.6 KiB
Plaintext
226 lines
6.6 KiB
Plaintext
--# -path=.:../abstract:../common
|
|
|
|
incomplete concrete DocumentationCatFunctor of Documentation = CatCat ** open
|
|
Terminology, -- the interface to be instantiated
|
|
ResCat,
|
|
CommonRomance,
|
|
ParadigmsCat,
|
|
(G = GrammarCat),
|
|
(S = SyntaxCat),
|
|
(L = LexiconCat),
|
|
Prelude,
|
|
HTML
|
|
in {
|
|
flags coding=utf8 ;
|
|
|
|
|
|
lincat
|
|
Inflection = {t : Str; s1,s2 : Str} ;
|
|
Definition = {s : Str} ;
|
|
Document = {s : Str} ;
|
|
Tag = {s : Str} ;
|
|
|
|
{-
|
|
-} --# notpresent
|
|
|
|
oper
|
|
heading : N -> Str = \n -> (nounHeading n).s ;
|
|
|
|
lin
|
|
InflectionN, InflectionN3, InflectionN3 = \noun -> {
|
|
t = "n" ;
|
|
s1 = heading1 (heading noun_Category ++
|
|
case noun.g of {
|
|
Masc => "("+heading masculine_Parameter+")" ;
|
|
Fem => "("+heading feminine_Parameter+")"
|
|
}) ;
|
|
s2 = frameTable (
|
|
tr (th (heading singular_Parameter) ++ th (heading plural_Parameter)) ++
|
|
tr (td (noun.s ! Sg) ++ td (noun.s ! Pl))
|
|
)
|
|
} ;
|
|
|
|
InflectionA, InflectionA2 = \adj -> {
|
|
t = "a" ;
|
|
s1 = heading1 (nounHeading adjective_Category).s ;
|
|
s2 = frameTable (
|
|
tr (th "" ++ th (heading singular_Parameter) ++ th (heading plural_Parameter)) ++
|
|
tr (th (heading masculine_Parameter) ++ td (adj.s ! Posit ! (AF Masc Sg)) ++ td (adj.s ! Posit ! (AF Masc Pl))) ++
|
|
tr (th (heading feminine_Parameter) ++ td (adj.s ! Posit ! (AF Fem Sg)) ++ td (adj.s ! Posit ! (AF Fem Pl)))
|
|
)
|
|
} ;
|
|
|
|
InflectionAdv adv = {
|
|
t = "adv" ;
|
|
s1 = heading1 "Adverbi" ;
|
|
s2 = paragraph adv.s
|
|
} ;
|
|
|
|
InflectionPrep p = {
|
|
t = "prep" ;
|
|
s1 = heading1 "Preposició" ;
|
|
s2 = paragraph p.s
|
|
} ;
|
|
|
|
InflectionV v = {
|
|
t = "v" ;
|
|
s1 = heading1 (heading verb_Category) ++
|
|
paragraph (verbExample (S.mkCl S.she_NP v)) ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionV2 v = {
|
|
t = "v" ;
|
|
s1 = heading1 (heading verb_Category) ++
|
|
paragraph (verbExample (S.mkCl S.she_NP v S.something_NP)) ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionV3 v = {
|
|
t = "v" ;
|
|
s1 = heading1 (heading verb_Category) ++
|
|
paragraph (verbExample (S.mkCl S.she_NP v S.something_NP S.something_NP)) ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionV2V v = {
|
|
t = "v" ;
|
|
s1 = heading1 (heading verb_Category) ++
|
|
paragraph (verbExample (S.mkCl S.she_NP (lin V2V v) S.we_NP (S.mkVP (L.sleep_V)))) ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionV2S v = {
|
|
t = "v" ;
|
|
s1 = heading1 (heading verb_Category) ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionV2Q v = {
|
|
t = "v" ;
|
|
s1 = heading1 (heading verb_Category) ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionV2A v = {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionVV v = {
|
|
t = "v" ;
|
|
s1 = heading1 (heading verb_Category) ++
|
|
paragraph (verbExample (S.mkCl S.she_NP v (S.mkVP (L.sleep_V)))) ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionVS v = {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionVQ v = {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
InflectionVA v = {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ;
|
|
s2 = inflVerb v
|
|
} ;
|
|
|
|
lin
|
|
NoDefinition t = {s=t.s};
|
|
MkDefinition t d = {s="<p><b>Definició:</b>"++t.s++d.s++"</p>"};
|
|
MkDefinitionEx t d e = {s="<p><b>Definició:</b>"++t.s++d.s++"</p><p><b>Exemple:</b>"++e.s++"</p>"};
|
|
|
|
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
|
|
verbExample : CatCat.Cl -> Str = \cl ->
|
|
(S.mkUtt cl).s
|
|
++ ";" ++ (S.mkUtt (S.mkS S.anteriorAnt cl)).s --# notpresent
|
|
;
|
|
|
|
inflVerb : Verb -> Str = \verb ->
|
|
let
|
|
vfin : CommonRomance.VF -> Str = \f ->
|
|
verb.s ! f ;
|
|
|
|
ttable : TMood -> Str = \tense ->
|
|
frameTable (
|
|
tr (th "" ++
|
|
th (heading singular_Parameter) ++
|
|
th (heading plural_Parameter)) ++
|
|
tr (th "1.p" ++
|
|
td (vfin (VFin tense Sg P1)) ++
|
|
td (vfin (VFin tense Pl P1))) ++
|
|
tr (th "2.p" ++
|
|
td (vfin (VFin tense Sg P2)) ++
|
|
td (vfin (VFin tense Pl P2))) ++
|
|
tr (th "3.p" ++
|
|
td (vfin (VFin tense Sg P3)) ++
|
|
td (vfin (VFin tense Pl P3)))
|
|
) ;
|
|
|
|
ttable2 : (Mood -> TMood) -> Str = \f ->
|
|
frameTable (
|
|
tr (intagAttr "th" "colspan=2" "" ++
|
|
th (heading indicative_Parameter) ++
|
|
th (heading conjunctive_Parameter)) ++
|
|
tr (intagAttr "th" "rowspan=3" (heading singular_Parameter) ++
|
|
th "1.p" ++
|
|
td (vfin (VFin (f Indic) Sg P1)) ++
|
|
td (vfin (VFin (f Conjunct) Sg P1))) ++
|
|
tr (th "2.p" ++
|
|
td (vfin (VFin (f Indic) Sg P2)) ++
|
|
td (vfin (VFin (f Conjunct) Sg P2))) ++
|
|
tr (th "3.p" ++
|
|
td (vfin (VFin (f Indic) Sg P3)) ++
|
|
td (vfin (VFin (f Conjunct) Sg P3))) ++
|
|
tr (intagAttr "th" "rowspan=3" (heading plural_Parameter) ++
|
|
th "1.p" ++
|
|
td (vfin (VFin (f Indic) Pl P1)) ++
|
|
td (vfin (VFin (f Conjunct) Pl P1))) ++
|
|
tr (th "2.p" ++
|
|
td (vfin (VFin (f Indic) Pl P2)) ++
|
|
td (vfin (VFin (f Conjunct) Pl P2))) ++
|
|
tr (th "3.p" ++
|
|
td (vfin (VFin (f Indic) Pl P3)) ++
|
|
td (vfin (VFin (f Conjunct) Pl P3)))
|
|
) ;
|
|
|
|
in heading2 (heading present_Parameter) ++
|
|
ttable2 VPres ++
|
|
heading2 (heading imperfect_Parameter) ++
|
|
ttable2 VImperf
|
|
++ heading2 (heading simple_past_Parameter) ++ --# notpresent
|
|
ttable VPasse --# notpresent
|
|
++ heading2 (heading future_Parameter) ++ --# notpresent
|
|
ttable VFut --# notpresent
|
|
++ heading2 (heading conditional_Parameter) ++ --# notpresent
|
|
ttable VCondit --# notpresent
|
|
++ heading2 (heading infinitive_Parameter) ++
|
|
paragraph (vfin (VInfin False)) ++
|
|
heading2 (heading imperative_Parameter) ++
|
|
frameTable (
|
|
tr (th "sg.2.p" ++ td (vfin (VImper SgP2))) ++
|
|
tr (th "pl.1.p" ++ td (vfin (VImper PlP1))) ++
|
|
tr (th "pl.2.p" ++ td (vfin (VImper PlP2)))
|
|
) ++
|
|
heading2 (heading participle_Parameter) ++
|
|
frameTable (
|
|
tr (th (heading past_Parameter) ++ td (vfin (VPart Masc Sg))) ++
|
|
tr (th (heading present_Parameter) ++ td (vfin VGer))
|
|
) ;
|
|
|
|
{- --# notpresent
|
|
-}
|
|
|
|
}
|