1. updated types in ../abstract/*'.gf to replace NP,Det,Quant,Predep,Prep,DAP by

their primed versions
2. implemented all linearizations to use the primed categories

This allows linearization with prep+defart's, but parsing gives metavariables
in parses (DetQuant ? NumSg) and (DetQuantOrd ? NumSg ord) for prep+defart.

Todo: make Quant.s and NP. depend on PronType = isCat | isPron | isPronDefArt.

Without SlashV2VNP', compiles in 84 sec and gives 3,6M VerbGer.gfo, 2,3M SentenceGer.gfo.

Uses |Prep'|=12 instead of |Prep|=18, |NP'|=72 instead of |NP|=54
This commit is contained in:
Hans Leiss
2022-07-22 11:49:19 +02:00
parent 8eee3df739
commit ec41af609d
20 changed files with 283 additions and 257 deletions
+5 -1
View File
@@ -1,10 +1,11 @@
--# -path=.:../abstract:../common
concrete MarkupGer of Markup = CatGer, MarkHTMLX ** {
concrete MarkupGer of Markup' = CatGer, MarkHTMLX ** {
lin
MarkupCN m cn = cn ** {s = \\a,n,c => appMark m (cn.s ! a ! n ! c)} ; --- other fields e.g ext intact
MarkupNP m np = np ** {s = \\c => appMark m (np.s ! c)} ;
MarkupNP' m np = np ** {s = \\c => appMark2 m (np.s ! c)} ;
MarkupAP m ap = ap ** {s = \\a => appMark m (ap.s ! a)} ;
MarkupAdv m adv = {s = appMark m adv.s} ;
MarkupS m s = {s = \\o => appMark m (s.s ! o)} ;
@@ -12,5 +13,8 @@ lin
MarkupPhr m phr = {s = appMark m phr.s} ;
MarkupText m txt = {s = appMark m txt.s} ;
oper
appMark2 : {begin,end : Str} -> Str * Str -> Str * Str
= \m,s -> <m.begin ++ s.p1, s.p2 ++ m.end> ;
}