forked from GitHub/gf-rgl
better table layout
This commit is contained in:
@@ -11,31 +11,26 @@ lin InflectionA, InflectionA2 = \x -> {
|
||||
t="a" ;
|
||||
s1="" ;
|
||||
s2=frameTable (
|
||||
tr (intagAttr "th" "rowspan=\"25\"" "s" ++ th "AF Masc Sg Indef ANomAcc" ++ td (x.s ! AF Masc Sg Indef ANomAcc)) ++
|
||||
tr (th "Masc Sg Indef gen/dat" ++ td (x.s ! AF Masc Sg Indef AGenDat)) ++
|
||||
tr (th "Masc Sg Indef voc" ++ td (x.s ! AF Masc Sg Indef AVoc)) ++
|
||||
tr (th "Masc Sg Def nom/acc" ++ td (x.s ! AF Masc Sg Def ANomAcc)) ++
|
||||
tr (th "Masc Sg Def gen/dat" ++ td (x.s ! AF Masc Sg Def AGenDat)) ++
|
||||
tr (th "Masc Sg Def voc" ++ td (x.s ! AF Masc Sg Def AVoc)) ++
|
||||
tr (th "Masc Pl Indef nom/acc" ++ td (x.s ! AF Masc Pl Indef ANomAcc)) ++
|
||||
tr (th "Masc Pl Indef gen/dat" ++ td (x.s ! AF Masc Pl Indef AGenDat)) ++
|
||||
tr (th "Masc Pl Indef voc" ++ td (x.s ! AF Masc Pl Indef AVoc)) ++
|
||||
tr (th "Masc Pl Def nom/acc" ++ td (x.s ! AF Masc Pl Def ANomAcc)) ++
|
||||
tr (th "Masc Pl Def gen/dat" ++ td (x.s ! AF Masc Pl Def AGenDat)) ++
|
||||
tr (th "Masc Pl Def voc" ++ td (x.s ! AF Masc Pl Def AVoc)) ++
|
||||
tr (th "Fem Sg Indef nom/acc" ++ td (x.s ! AF Fem Sg Indef ANomAcc)) ++
|
||||
tr (th "Fem Sg Indef gen/dat" ++ td (x.s ! AF Fem Sg Indef AGenDat)) ++
|
||||
tr (th "Fem Sg Indef voc" ++ td (x.s ! AF Fem Sg Indef AVoc)) ++
|
||||
tr (th "Fem Sg Def nom/acc" ++ td (x.s ! AF Fem Sg Def ANomAcc)) ++
|
||||
tr (th "Fem Sg Def gen/dat" ++ td (x.s ! AF Fem Sg Def AGenDat)) ++
|
||||
tr (th "Fem Sg Def voc" ++ td (x.s ! AF Fem Sg Def AVoc)) ++
|
||||
tr (th "Fem Pl Indef nom/acc" ++ td (x.s ! AF Fem Pl Indef ANomAcc)) ++
|
||||
tr (th "Fem Pl Indef gen/dat" ++ td (x.s ! AF Fem Pl Indef AGenDat)) ++
|
||||
tr (th "Fem Pl Indef voc" ++ td (x.s ! AF Fem Pl Indef AVoc)) ++
|
||||
tr (th "Fem Pl Def nom/acc" ++ td (x.s ! AF Fem Pl Def ANomAcc)) ++
|
||||
tr (th "Fem Pl Def gen/dat" ++ td (x.s ! AF Fem Pl Def AGenDat)) ++
|
||||
tr (th "Fem Pl Def voc" ++ td (x.s ! AF Fem Pl Def AVoc)) ++
|
||||
tr (th "" ++ td (x.s ! AA))) ;
|
||||
tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Sg" ++ th "Pl") ++
|
||||
tr (intagAttr "th" "colspan=\"4\"" "Indef") ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "masc" ++
|
||||
th "nom/acc" ++ td (x.s ! AF Masc Sg Indef ANomAcc) ++ td (x.s ! AF Masc Pl Indef ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! AF Masc Sg Indef AGenDat) ++ td (x.s ! AF Masc Pl Indef AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! AF Masc Sg Indef AVoc) ++ td (x.s ! AF Masc Pl Indef AVoc)) ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "fem" ++
|
||||
th "nom/acc" ++ td (x.s ! AF Fem Sg Indef ANomAcc) ++ td (x.s ! AF Fem Pl Indef ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! AF Fem Sg Indef AGenDat) ++ td (x.s ! AF Fem Pl Indef AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! AF Fem Sg Indef AVoc) ++ td (x.s ! AF Fem Pl Indef AVoc)) ++
|
||||
tr (intagAttr "th" "colspan=\"4\"" "Def") ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "masc" ++
|
||||
th "om/acc" ++ td (x.s ! AF Masc Sg Def ANomAcc) ++ td (x.s ! AF Masc Pl Def ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! AF Masc Sg Def AGenDat) ++ td (x.s ! AF Masc Pl Def AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! AF Masc Sg Def AVoc) ++ td (x.s ! AF Masc Pl Def AVoc)) ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "fem" ++
|
||||
th "nom/acc" ++ td (x.s ! AF Fem Sg Def ANomAcc) ++ td (x.s ! AF Fem Pl Def ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! AF Fem Sg Def AGenDat) ++ td (x.s ! AF Fem Pl Def AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! AF Fem Sg Def AVoc) ++ td (x.s ! AF Fem Pl Def AVoc))) ++
|
||||
paragraph (x.s ! AA) ;
|
||||
s3=[]
|
||||
} ;
|
||||
lin InflectionAdA = \x -> {
|
||||
@@ -197,7 +192,7 @@ oper
|
||||
inflNoun : Noun -> Str = \x ->
|
||||
frameTable (
|
||||
tr (th "" ++ th "Sg" ++ th "Pl") ++
|
||||
tr (intagAttr "th" "colspan=\"3\"" "Indef") ++
|
||||
tr (intagAttr "th" "colspan=\"3\"" "Indef") ++
|
||||
tr (th "nom/acc" ++ td (x.s ! Sg ! Indef ! ANomAcc) ++ td (x.s ! Pl ! Indef ! ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! Sg ! Indef ! AGenDat) ++ td (x.s ! Pl ! Indef ! AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! Sg ! Indef ! AVoc) ++ td (x.s ! Pl ! Indef ! AVoc)) ++
|
||||
@@ -207,114 +202,61 @@ oper
|
||||
tr (th "voc" ++ td (x.s ! Sg ! Def ! AVoc) ++ td (x.s ! Pl ! Def ! AVoc))) ;
|
||||
|
||||
inflVerb : Verb -> Str = \x ->
|
||||
heading1 "Infinitive" ++
|
||||
paragraph (x.s ! Inf) ++
|
||||
heading1 "Indicative" ++
|
||||
frameTable (
|
||||
tr (th "Inf" ++ td (x.s ! Inf)) ++
|
||||
tr (th "Indi Presn Sg P1" ++ td (x.s ! Indi Presn Sg P1)) ++
|
||||
tr (th "Indi Presn Sg P2" ++ td (x.s ! Indi Presn Sg P2)) ++
|
||||
tr (th "Indi Presn Sg P3" ++ td (x.s ! Indi Presn Sg P3)) ++
|
||||
tr (th "Indi Presn Pl P1" ++ td (x.s ! Indi Presn Pl P1)) ++
|
||||
tr (th "Indi Presn Pl P2" ++ td (x.s ! Indi Presn Pl P2)) ++
|
||||
tr (th "Indi Presn Pl P3" ++ td (x.s ! Indi Presn Pl P3)) ++
|
||||
tr (th "Indi Imparf Sg P1" ++ td (x.s ! Indi Imparf Sg P1)) ++
|
||||
tr (th "Indi Imparf Sg P2" ++ td (x.s ! Indi Imparf Sg P2)) ++
|
||||
tr (th "Indi Imparf Sg P3" ++ td (x.s ! Indi Imparf Sg P3)) ++
|
||||
tr (th "Indi Imparf Pl P1" ++ td (x.s ! Indi Imparf Pl P1)) ++
|
||||
tr (th "Indi Imparf Pl P2" ++ td (x.s ! Indi Imparf Pl P2)) ++
|
||||
tr (th "Indi Imparf Pl P3" ++ td (x.s ! Indi Imparf Pl P3)) ++
|
||||
tr (th "Indi PSimple Sg P1" ++ td (x.s ! Indi PSimple Sg P1)) ++
|
||||
tr (th "Indi PSimple Sg P2" ++ td (x.s ! Indi PSimple Sg P2)) ++
|
||||
tr (th "Indi PSimple Sg P3" ++ td (x.s ! Indi PSimple Sg P3)) ++
|
||||
tr (th "Indi PSimple Pl P1" ++ td (x.s ! Indi PSimple Pl P1)) ++
|
||||
tr (th "Indi PSimple Pl P2" ++ td (x.s ! Indi PSimple Pl P2)) ++
|
||||
tr (th "Indi PSimple Pl P3" ++ td (x.s ! Indi PSimple Pl P3)) ++
|
||||
tr (th "Indi PPerfect Sg P1" ++ td (x.s ! Indi PPerfect Sg P1)) ++
|
||||
tr (th "Indi PPerfect Sg P2" ++ td (x.s ! Indi PPerfect Sg P2)) ++
|
||||
tr (th "Indi PPerfect Sg P3" ++ td (x.s ! Indi PPerfect Sg P3)) ++
|
||||
tr (th "Indi PPerfect Pl P1" ++ td (x.s ! Indi PPerfect Pl P1)) ++
|
||||
tr (th "Indi PPerfect Pl P2" ++ td (x.s ! Indi PPerfect Pl P2)) ++
|
||||
tr (th "Indi PPerfect Pl P3" ++ td (x.s ! Indi PPerfect Pl P3)) ++
|
||||
tr (th "Subjo SPres Sg P1" ++ td (x.s ! Subjo SPres Sg P1)) ++
|
||||
tr (th "Subjo SPres Sg P2" ++ td (x.s ! Subjo SPres Sg P2)) ++
|
||||
tr (th "Subjo SPres Sg P3" ++ td (x.s ! Subjo SPres Sg P3)) ++
|
||||
tr (th "Subjo SPres Pl P1" ++ td (x.s ! Subjo SPres Pl P1)) ++
|
||||
tr (th "Subjo SPres Pl P2" ++ td (x.s ! Subjo SPres Pl P2)) ++
|
||||
tr (th "Subjo SPres Pl P3" ++ td (x.s ! Subjo SPres Pl P3)) ++
|
||||
tr (th "Imper SgP2" ++ td (x.s ! Imper SgP2)) ++
|
||||
tr (th "Imper PlP1" ++ td (x.s ! Imper PlP1)) ++
|
||||
tr (th "Imper PlP2" ++ td (x.s ! Imper PlP2)) ++
|
||||
tr (th "Ger" ++ td (x.s ! Ger)) ++
|
||||
tr (th "PPasse Masc Sg Indef ANomAcc" ++ td (x.s ! PPasse Masc Sg Indef ANomAcc)) ++
|
||||
tr (th "PPasse Masc Sg Indef AGenDat" ++ td (x.s ! PPasse Masc Sg Indef AGenDat)) ++
|
||||
tr (th "PPasse Masc Sg Indef AVoc" ++ td (x.s ! PPasse Masc Sg Indef AVoc)) ++
|
||||
tr (th "PPasse Masc Sg Def ANomAcc" ++ td (x.s ! PPasse Masc Sg Def ANomAcc)) ++
|
||||
tr (th "PPasse Masc Sg Def AGenDat" ++ td (x.s ! PPasse Masc Sg Def AGenDat)) ++
|
||||
tr (th "PPasse Masc Sg Def AVoc" ++ td (x.s ! PPasse Masc Sg Def AVoc)) ++
|
||||
tr (th "PPasse Masc Pl Indef ANomAcc" ++ td (x.s ! PPasse Masc Pl Indef ANomAcc)) ++
|
||||
tr (th "PPasse Masc Pl Indef AGenDat" ++ td (x.s ! PPasse Masc Pl Indef AGenDat)) ++
|
||||
tr (th "PPasse Masc Pl Indef AVoc" ++ td (x.s ! PPasse Masc Pl Indef AVoc)) ++
|
||||
tr (th "PPasse Masc Pl Def ANomAcc" ++ td (x.s ! PPasse Masc Pl Def ANomAcc)) ++
|
||||
tr (th "PPasse Masc Pl Def AGenDat" ++ td (x.s ! PPasse Masc Pl Def AGenDat)) ++
|
||||
tr (th "PPasse Masc Pl Def AVoc" ++ td (x.s ! PPasse Masc Pl Def AVoc)) ++
|
||||
tr (th "PPasse Fem Sg Indef ANomAcc" ++ td (x.s ! PPasse Fem Sg Indef ANomAcc)) ++
|
||||
tr (th "PPasse Fem Sg Indef AGenDat" ++ td (x.s ! PPasse Fem Sg Indef AGenDat)) ++
|
||||
tr (th "PPasse Fem Sg Indef AVoc" ++ td (x.s ! PPasse Fem Sg Indef AVoc)) ++
|
||||
tr (th "PPasse Fem Sg Def ANomAcc" ++ td (x.s ! PPasse Fem Sg Def ANomAcc)) ++
|
||||
tr (th "PPasse Fem Sg Def AGenDat" ++ td (x.s ! PPasse Fem Sg Def AGenDat)) ++
|
||||
tr (th "PPasse Fem Sg Def AVoc" ++ td (x.s ! PPasse Fem Sg Def AVoc)) ++
|
||||
tr (th "PPasse Fem Pl Indef ANomAcc" ++ td (x.s ! PPasse Fem Pl Indef ANomAcc)) ++
|
||||
tr (th "PPasse Fem Pl Indef AGenDat" ++ td (x.s ! PPasse Fem Pl Indef AGenDat)) ++
|
||||
tr (th "PPasse Fem Pl Indef AVoc" ++ td (x.s ! PPasse Fem Pl Indef AVoc)) ++
|
||||
tr (th "PPasse Fem Pl Def ANomAcc" ++ td (x.s ! PPasse Fem Pl Def ANomAcc)) ++
|
||||
tr (th "PPasse Fem Pl Def AGenDat" ++ td (x.s ! PPasse Fem Pl Def AGenDat)) ++
|
||||
tr (th "PPasse Fem Pl Def AVoc" ++ td (x.s ! PPasse Fem Pl Def AVoc)) ++
|
||||
tr (intagAttr "th" "rowspan=\"48\"" "isRefl" ++ intagAttr "th" "rowspan=\"4\"" "{g=Masc; n=Sg; p=P1}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P1}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P1}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P1}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P1}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Masc; n=Sg; p=P2}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P2}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P2}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P2}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P2}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Masc; n=Sg; p=P3}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P3}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P3}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P3}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Masc; n=Sg; p=P3}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Masc; n=Pl; p=P1}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P1}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P1}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P1}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P1}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Masc; n=Pl; p=P2}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P2}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P2}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P2}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P2}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Masc; n=Pl; p=P3}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P3}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P3}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P3}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Masc; n=Pl; p=P3}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Fem; n=Sg; p=P1}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P1}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P1}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P1}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P1}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Fem; n=Sg; p=P2}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P2}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P2}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P2}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P2}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Fem; n=Sg; p=P3}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P3}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P3}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P3}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Fem; n=Sg; p=P3}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Fem; n=Pl; p=P1}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P1}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P1}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P1}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P1}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Fem; n=Pl; p=P2}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P2}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P2}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P2}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P2}).s ! Imperative)) ++
|
||||
tr (intagAttr "th" "rowspan=\"4\"" "{g=Fem; n=Pl; p=P3}" ++ intagAttr "th" "rowspan=\"4\"" "s" ++ th "Normal" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P3}).s ! Normal)) ++
|
||||
tr (th "Composite" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P3}).s ! Composite)) ++
|
||||
tr (th "Short" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P3}).s ! Short)) ++
|
||||
tr (th "Imperative" ++ td ((x.isRefl ! {g=Fem; n=Pl; p=P3}).s ! Imperative))) ;
|
||||
tr (th "" ++ th "Sg" ++ th "Pl") ++
|
||||
tr (intagAttr "th" "colspan=\"3\"" "Presn") ++
|
||||
tr (th "1p" ++ td (x.s ! Indi Presn Sg P1) ++ td (x.s ! Indi Presn Pl P1)) ++
|
||||
tr (th "2p" ++ td (x.s ! Indi Presn Sg P2) ++ td (x.s ! Indi Presn Pl P2)) ++
|
||||
tr (th "3p" ++ td (x.s ! Indi Presn Sg P3) ++ td (x.s ! Indi Presn Pl P3)) ++
|
||||
tr (intagAttr "th" "colspan=\"3\"" "Imparf") ++
|
||||
tr (th "1p" ++ td (x.s ! Indi Imparf Sg P1) ++ td (x.s ! Indi Imparf Pl P1)) ++
|
||||
tr (th "2p" ++ td (x.s ! Indi Imparf Sg P2) ++ td (x.s ! Indi Imparf Pl P2)) ++
|
||||
tr (th "3p" ++ td (x.s ! Indi Imparf Sg P3) ++ td (x.s ! Indi Imparf Pl P3)) ++
|
||||
tr (intagAttr "th" "colspan=\"3\"" "Simple") ++
|
||||
tr (th "1p" ++ td (x.s ! Indi PSimple Sg P1) ++ td (x.s ! Indi PSimple Pl P1)) ++
|
||||
tr (th "2p" ++ td (x.s ! Indi PSimple Sg P2) ++ td (x.s ! Indi PSimple Pl P2)) ++
|
||||
tr (th "3p" ++ td (x.s ! Indi PSimple Sg P3) ++ td (x.s ! Indi PSimple Pl P3)) ++
|
||||
tr (intagAttr "th" "colspan=\"3\"" "Perfect") ++
|
||||
tr (th "1p" ++ td (x.s ! Indi PPerfect Sg P1) ++ td (x.s ! Indi PPerfect Pl P1)) ++
|
||||
tr (th "2p" ++ td (x.s ! Indi PPerfect Sg P2) ++ td (x.s ! Indi PPerfect Pl P2)) ++
|
||||
tr (th "3p" ++ td (x.s ! Indi PPerfect Sg P3) ++ td (x.s ! Indi PPerfect Pl P3))) ++
|
||||
heading1 "Subjunctive" ++
|
||||
frameTable (
|
||||
tr (th "" ++ th "Sg" ++ th "Pl") ++
|
||||
tr (th "1p" ++ td (x.s ! Subjo SPres Sg P1) ++ td (x.s ! Subjo SPres Pl P1)) ++
|
||||
tr (th "2p" ++ td (x.s ! Subjo SPres Sg P2) ++ td (x.s ! Subjo SPres Pl P2)) ++
|
||||
tr (th "3p" ++ td (x.s ! Subjo SPres Sg P3) ++ td (x.s ! Subjo SPres Pl P3))) ++
|
||||
heading1 "Imperative" ++
|
||||
frameTable (
|
||||
tr (th "Sg 2p" ++ td (x.s ! Imper SgP2)) ++
|
||||
tr (th "Pl 1p" ++ td (x.s ! Imper PlP1)) ++
|
||||
tr (th "Pl 2p" ++ td (x.s ! Imper PlP2))) ++
|
||||
heading1 "Gerund" ++
|
||||
paragraph (x.s ! Ger) ++
|
||||
heading1 "Passe" ++
|
||||
frameTable (
|
||||
tr (intagAttr "th" "colspan=\"2\"" "" ++ th "Sg" ++ th "Pl") ++
|
||||
tr (intagAttr "th" "colspan=\"4\"" "Indef") ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "masc" ++
|
||||
th "nom/acc" ++ td (x.s ! PPasse Masc Sg Indef ANomAcc) ++ td (x.s ! PPasse Masc Pl Indef ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! PPasse Masc Sg Indef AGenDat) ++ td (x.s ! PPasse Masc Pl Indef AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! PPasse Masc Sg Indef AVoc) ++ td (x.s ! PPasse Masc Pl Indef AVoc)) ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "fem" ++
|
||||
th "nom/acc" ++ td (x.s ! PPasse Fem Sg Indef ANomAcc) ++ td (x.s ! PPasse Fem Pl Indef ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! PPasse Fem Sg Indef AGenDat) ++ td (x.s ! PPasse Fem Pl Indef AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! PPasse Fem Sg Indef AVoc) ++ td (x.s ! PPasse Fem Pl Indef AVoc)) ++
|
||||
tr (intagAttr "th" "colspan=\"4\"" "Def") ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "masc" ++
|
||||
th "nom/acc" ++ td (x.s ! PPasse Masc Sg Def ANomAcc) ++ td (x.s ! PPasse Masc Pl Def ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! PPasse Masc Sg Def AGenDat) ++ td (x.s ! PPasse Masc Pl Def AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! PPasse Masc Sg Def AVoc) ++ td (x.s ! PPasse Masc Pl Def AVoc)) ++
|
||||
tr (intagAttr "th" "rowspan=\"3\"" "fem" ++
|
||||
th "nom/acc" ++ td (x.s ! PPasse Fem Sg Def ANomAcc) ++ td (x.s ! PPasse Fem Pl Def ANomAcc)) ++
|
||||
tr (th "gen/dat" ++ td (x.s ! PPasse Fem Sg Def AGenDat) ++ td (x.s ! PPasse Fem Pl Def AGenDat)) ++
|
||||
tr (th "voc" ++ td (x.s ! PPasse Fem Sg Def AVoc) ++ td (x.s ! PPasse Fem Pl Def AVoc))) ;
|
||||
|
||||
lin
|
||||
NoDefinition t = {s=t.s};
|
||||
|
||||
Reference in New Issue
Block a user