forked from GitHub/gf-rgl
137 lines
3.7 KiB
Plaintext
137 lines
3.7 KiB
Plaintext
concrete DocumentationChi of Documentation = CatChi ** open
|
|
ResChi,
|
|
HTML
|
|
in {
|
|
|
|
lincat
|
|
Inflection = {t : Str; s1,s2 : Str} ;
|
|
Definition = {s : Str} ;
|
|
Document = {s : Str} ;
|
|
Tag = {s : Str} ;
|
|
|
|
lin
|
|
InflectionN, InflectionN2, InflectionN3 = \noun -> {
|
|
t = "n" ;
|
|
s1 = heading1 "Noun" ;
|
|
s2 = noun.s ++ "c." ++ noun.c ;
|
|
} ;
|
|
|
|
InflectionA, InflectionA2 = \adj -> {
|
|
t = "a" ;
|
|
s1 = heading1 "Adjective" ;
|
|
s2 = adj.s
|
|
} ;
|
|
|
|
InflectionAdv adv = {
|
|
t = "adv" ;
|
|
s1 = heading1 "Adverb" ;
|
|
s2 = paragraph adv.s
|
|
} ;
|
|
|
|
InflectionPrep p = {
|
|
t = "prep" ;
|
|
s1 = heading1 "Preposition" ;
|
|
s2 = paragraph (p.prepPre ++ p.prepPost)
|
|
} ;
|
|
|
|
InflectionV = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s) ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionV2 = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ verb.c2.prepPre ++ pp "object" ++ verb.c2.prepPost ++ verb.part) ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionV3 = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ verb.c2.prepPre ++ pp "arg1" ++ verb.c2.prepPost ++ verb.c3.prepPre ++ pp "arg2" ++ verb.c3.prepPre ++ verb.part) ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionV2V = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ verb.c2.prepPre ++ pp "object" ++ verb.c2.prepPost ++ pp "verb" ++ verb.part) ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionV2S = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ verb.c2.prepPre ++ pp "object" ++ verb.c2.prepPost ++ pp "sentence" ++ verb.part) ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionV2Q = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ verb.c2.prepPre ++ pp "object" ++ verb.c2.prepPost ++ pp "question" ++ verb.part) ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionV2A = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ verb.c2.prepPre ++ pp "object" ++ verb.c2.prepPost ++ pp "adjective" ++ verb.part) ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionVV = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ pp "verb") ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionVS = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ pp "sentence") ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionVQ = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ pp "question") ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
InflectionVA = \verb -> {
|
|
t = "v" ;
|
|
s1 = heading1 "Verb" ++
|
|
paragraph (pp "subject" ++ verb.s ++ pp "adjective") ;
|
|
s2 = inflVerb verb
|
|
} ;
|
|
|
|
oper
|
|
inflVerb : Verb -> Str = \verb ->
|
|
let vtbl = useVerb verb
|
|
in frameTable (
|
|
tr (th "" ++ th "pos" ++ th "neg") ++
|
|
tr (th "" ++ td (vtbl ! Pos ! APlain) ++ td (vtbl ! Neg ! APlain)) ++
|
|
tr (th "perf" ++ td (vtbl ! Pos ! APerf) ++ td (vtbl ! Neg ! APerf)) ++
|
|
tr (th "stat" ++ td (vtbl ! Pos ! ADurStat) ++ td (vtbl ! Neg ! ADurStat)) ++
|
|
tr (th "progr" ++ td (vtbl ! Pos ! ADurProg) ++ td (vtbl ! Neg ! ADurProg)) ++
|
|
tr (th "exper" ++ td (vtbl ! Pos ! AExper) ++ td (vtbl ! Neg ! AExper))) ;
|
|
|
|
pp : Str -> Str = \s -> "<"+s+">" ;
|
|
|
|
lin
|
|
NoDefinition t = {s=t.s};
|
|
MkDefinition t d = {s="<p><b>定义:</b>"++t.s++d.s++"</p>"};
|
|
MkDefinitionEx t d e = {s="<p><b>定义:</b>"++t.s++d.s++"</p><p><b>例子:</b>"++e.s++"</p>"};
|
|
|
|
lin
|
|
MkDocument d i e = {s=i.s1 ++ d.s ++ i.s2 ++ paragraph e.s} ;
|
|
MkTag i = {s=i.t} ;
|
|
|
|
}
|