add DocumentationChi and fix the old ParseChi

This commit is contained in:
kr.angelov
2014-02-25 14:11:07 +00:00
parent adca68ecaf
commit 5594843faf
2 changed files with 133 additions and 2 deletions

View File

@@ -0,0 +1,130 @@
concrete DocumentationChi of Documentation = CatChi ** open
ResChi,
HTML
in {
lincat
Inflection = {t : Str; s1,s2 : Str} ;
Document = {s : Str} ;
Tag = {s : Str} ;
lin
InflectionN, InflectionN2, InflectionN3 = \noun -> {
t = "n" ;
s1 = heading1 "Noun" ;
s2 = noun.c ++ noun.s
} ;
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 "prog" ++ 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
MkDocument b i e = {s=i.s1 ++ paragraph b.s ++ i.s2 ++ paragraph e.s} ;
MkTag i = {s=i.t} ;
}

View File

@@ -1,4 +1,4 @@
--# -path=.:../english:../abstract
--# -path=.:../english:../abstract:../translator
concrete ParseChi of ParseEngAbs =
TenseChi,
@@ -16,12 +16,13 @@ concrete ParseChi of ParseEngAbs =
RelativeChi,
IdiomChi [NP, VP, Tense, Cl, ProgrVP, ExistNP, SelfAdvVP, SelfAdVVP, SelfNP],
ConstructionChi,
DocumentationChi,
ExtraChi [NP, Quant, VPSlash, VP, Tense, GenNP, PassVPSlash, PassAgentVPSlash,
Temp, Pol, Conj, VPS, ListVPS, S, Num, CN, RP, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, GenRP,
VPI, VPIForm, VPIInf, VPIPresPart, ListVPI, VV, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
ClSlash, RCl, EmptyRelSlash, ListCN, ConjCN, BaseCN, ConsCN],
DictEngChi
DictionaryChi
**
open ResChi, ParadigmsChi, SyntaxChi, Prelude, (G = GrammarChi), (E = ExtraChi) in {