a bunch of additions in the parsing grammars and dictionaries plus an updated statistical model

This commit is contained in:
kr.angelov
2012-11-26 16:43:09 +00:00
parent 7d528dc5b3
commit 6542f6ffdd
11 changed files with 43358 additions and 43334 deletions

View File

@@ -975,6 +975,7 @@ lin almighty_N = variants {};
lin almond_N = variants {};
lin almond_eyed_A = variants {};
lin almoner_N = variants {};
lin almost_AdA = variants {};
lin almost_AdN = ss "почти";
lin almost_Adv = variants {};
lin almost_Predet = variants {};
@@ -19900,6 +19901,7 @@ lin keep_V2 = variants {};
lin keep_to_V2V = variants {};
lin keep_ing_V2V = variants {};
lin keep_VA = variants {};
lin keep_V2A = variants {};
lin keep_VS = variants {};
lin keep_VV = variants {};
lin keeper_N = variants {};
@@ -22478,6 +22480,7 @@ lin mean_A = variants {};
lin mean_N = variants {};
lin mean_V = variants {};
lin mean_V2 = variants {};
lin mean_V2V = variants {};
lin mean_VA = variants {};
lin mean_VV = variants {};
lin mean_VS = variants {};
@@ -32029,11 +32032,9 @@ lin rummage_V = variants {};
lin rummage_V2 = variants {};
lin rummy_A = variants {};
lin rummy_N = variants {};
lin rumor_V2 = variants {};
lin rumor_V2V = variants {};
lin rumor_VS = variants {};
lin rumour_N = mkN001 "слух" ;
lin rumour_V2 = variants {};
lin rumour_V3 = variants {};
lin rumour_monger_N = variants {};
lin rump_N = variants {};
lin rump_steak_N = variants {};
@@ -38348,11 +38349,12 @@ lin thingummy_N = variants {};
lin think_N = variants {};
lin think_V = variants {};
lin think_V2 = variants {};
lin think_VA = variants {};
lin think_V2A = variants {};
lin think_VS = mkVS (stateV (mkV173 "мисля"));
lin think_tank_N = variants {};
lin thinkable_A = variants {};
lin thinker_N = variants {};
lin thinkable_A = mkA076 "мислим";
lin thinkerMasc_N = mkN031a "мислител";
lin thinkerFem_N = mkN041 "мислителка";
lin thinking_A = variants {};
lin thinking_N = variants {};
lin thinness_N = variants {};

View File

@@ -61,12 +61,33 @@ lin
a = {gn = GSg pn.g; p = P3}
} ;
PPartNP np vps = {
s = \\c => np.s ! c ++
vps.s ! Perf ! VPassive (aform np.a.gn Indef c) ++
vps.compl1 ! np.a ++ vps.compl2 ! np.a;
a = np.a
} ;
PastPartRS ant pol vp = {
s = \\agr =>
ant.s ++ pol.s ++
vp.ad.s ++
case pol.p of {Pos => ""; Neg => "не"} ++
case ant.a of {Simul => ""; Anter => auxBe ! VPerfect (aform agr.gn Indef (RObj Acc))} ++
vp.s ! Perf ! VPassive (aform agr.gn Indef (RObj Acc)) ++
case vp.vtype of {
VMedial c => reflClitics ! c;
_ => []
} ++
vp.compl1 ! agr ++ vp.compl2 ! agr ;
} ;
PresPartRS ant pol vp = {
s = \\agr =>
ant.s ++ pol.s ++
vp.ad.s ++
case pol.p of {Pos => ""; Neg => "не"} ++
case ant.a of {Simul => ""; Anter => auxBe ! VPerfect (aform agr.gn Indef (RObj Acc))} ++
vp.s ! Imperf ! VPresPart (aform agr.gn Indef (RObj Acc)) ++
case vp.vtype of {
VMedial c => reflClitics ! c;
_ => []
} ++
vp.compl ! agr ;
} ;
SlashV2V vv ant p vp =
insertSlashObj2 (\\agr => ant.s ++ p.s ++ vv.c3.s ++
@@ -99,13 +120,19 @@ lin
} ;
CompS s = {s = \\_ => "че" ++ s.s} ;
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
CompVP ant p vp = {s = \\agr => ant.s ++ p.s ++
daComplex ant.a p.p vp ! Perf ! agr} ;
PassVS vs vp =
insertObj (\\a => vs.s ! Perf ! VPassive (aform a.gn Indef (RObj Acc))
++ daComplex Simul Pos vp ! Perf ! a)
(predV verbBe) ;
VPSlashVS vs vp =
let vp = insertObj (daComplex Simul Pos vp ! Perf) (predV vs)
in { s = vp.s;
ad = vp.ad;
compl1 = \\_ => "";
compl2 = vp.compl;
vtype = vp.vtype;
c2 = {s=""; c=Acc}
} ;
ApposNP np1 np2 = {
s = \\role => np1.s ! role ++ "," ++ np2.s ! RSubj ;

View File

@@ -985,6 +985,7 @@ lin almighty_N = mkN "almighty";
lin almond_N = mkN "almond" "almonds";
lin almond_eyed_A = compoundA (mkA "almond - eyed");
lin almoner_N = mkN "almoner" "almoners";
lin almost_AdA = mkAdA "almost" ;
lin almost_AdN = mkAdN "almost" ;
lin almost_Adv = mkAdv "almost";
lin almost_Predet = {s="almost"} ;
@@ -19886,6 +19887,7 @@ lin keep_V2 = mkV2 (IrregEng.keep_V);
lin keep_to_V2V = mkV2V (IrregEng.keep_V) noPrep to_Prep;
lin keep_ing_V2V = ingV2V (IrregEng.keep_V) noPrep noPrep;
lin keep_VA = mkVA (IrregEng.keep_V);
lin keep_V2A = mkV2A (IrregEng.keep_V) noPrep;
lin keep_VS = mkVS (IrregEng.keep_V);
lin keep_VV = ingVV (IrregEng.keep_V);
lin keeper_N = mkN "keeper" "keepers";
@@ -22476,6 +22478,7 @@ lin mean_A = mkA "mean" "meaner";
lin mean_N = mkN "mean" "means";
lin mean_V = IrregEng.mean_V;
lin mean_V2 = mkV2 (IrregEng.mean_V);
lin mean_V2V = mkV2V (IrregEng.mean_V) noPrep to_Prep;
lin mean_VA = mkVA (IrregEng.mean_V);
lin mean_VV = mkVV (IrregEng.mean_V);
lin mean_VS = mkVS (IrregEng.mean_V);
@@ -32009,11 +32012,9 @@ lin rummage_V = mkV "rummage" "rummages" "rummaged" "rummaged" "rummaging";
lin rummage_V2 = mkV2 (mkV "rummage" "rummages" "rummaged" "rummaged" "rummaging");
lin rummy_A = mkA "rummy" "rummyyer*";
lin rummy_N = mkN "rummy" ;
lin rumor_V2 = mkV2 (mkV "rumor" "rumors" "rumored" "rumored" "rumoring");
lin rumor_V2V = mkV2V (mkV "rumor" "rumors" "rumored" "rumored" "rumoring") noPrep to_Prep ;
lin rumor_VS = mkVS (mkV "rumor" "rumors" "rumored" "rumored" "rumoring");
lin rumour_N = variants {mkN "rumour" "rumours"; mkN "rumor" "rumors"};
lin rumour_V2 = mkV2 (mkV "rumour" "rumours" "rumoured" "rumoured" "rumouring");
lin rumour_V2 = mkV2 (mkV (variants {"rumour"; "rumor"}));
lin rumour_V3 = mkV3 (mkV (variants {"rumour"; "rumor"})) noPrep noPrep;
lin rumour_monger_N = mkN "rumour - monger" "rumour - mongers";
lin rump_N = mkN "rump" "rumps";
lin rump_steak_N = mkN "rump - steak" "rump - steaks";
@@ -38327,7 +38328,7 @@ lin thingummy_N = mkN "thingummy" "thingummies";
lin think_N = mkN "think" "thinks";
lin think_V = IrregEng.think_V;
lin think_V2 = mkV2 (IrregEng.think_V);
lin think_VA = mkVA (IrregEng.think_V);
lin think_V2A = mkV2A (IrregEng.think_V) noPrep;
lin think_VS = mkVS (IrregEng.think_V);
lin think_tank_N = mkN "think - tank" "think - tanks";
lin thinkable_A = compoundA (mkA "thinkable");

View File

@@ -980,6 +980,7 @@ fun almighty_N : N;
fun almond_N : N;
fun almond_eyed_A : A;
fun almoner_N : N;
fun almost_AdA : AdA;
fun almost_AdN : AdN;
fun almost_Adv : Adv;
fun almost_Predet : Predet;
@@ -19862,6 +19863,7 @@ fun keep_V2 : V2;
fun keep_to_V2V : V2V;
fun keep_ing_V2V : V2V;
fun keep_VA : VA;
fun keep_V2A : V2A;
fun keep_VS : VS;
fun keep_VV : VV;
fun keeper_N : N;
@@ -22439,6 +22441,7 @@ fun mean_A : A;
fun mean_N : N;
fun mean_V : V;
fun mean_V2 : V2;
fun mean_V2V : V2V;
fun mean_VA : VA;
fun mean_VV : VV;
fun mean_VS : VS;
@@ -31955,11 +31958,9 @@ fun rummage_V : V;
fun rummage_V2 : V2;
fun rummy_A : A;
fun rummy_N : N;
fun rumor_V2 : V2;
fun rumor_V2V : V2V;
fun rumor_VS : VS;
fun rumour_N : N;
fun rumour_V2 : V2;
fun rumour_V3 : V3;
fun rumour_monger_N : N;
fun rump_N : N;
fun rump_steak_N : N;
@@ -38261,7 +38262,7 @@ fun thingummy_N : N;
fun think_N : N;
fun think_V : V;
fun think_V2 : V2;
fun think_VA : VA;
fun think_V2A : V2A;
fun think_VS : VS;
fun think_tank_N : N;
fun thinkable_A : A;

View File

@@ -109,53 +109,23 @@ lin
} ;
CompS s = {s = \\_ => "that" ++ s.s} ;
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
CompVP ant p vp = {s = \\a => ant.s ++ p.s ++
infVP VVInf vp ant.a p.p a} ;
PassVS vs vp =
let
vps = insertObj (\\a => infVP VVInf vp Simul CPos a) (predV vs) ;
be = predAux auxBe ;
ppt = vps.ptp
in {
s = be.s ;
prp = be.prp ;
ptp = be.ptp ;
inf = be.inf ;
ad = vps.ad ;
s2 = \\a => ppt ++ vps.s2 ! a
VPSlashVS vs vp =
insertObj (\\a => infVP VVInf vp Simul CPos a) (predV vs) **
{c2 = ""; gapInMiddle = False} ;
PastPartRS ant pol vps = {
s = \\agr => vps.ad ++ vps.ptp ++ vps.s2 ! agr ;
c = npNom
} ;
PPartNP np vps = {
s = let
be = predAux auxBe ;
ppt = vps.ptp
in \\c => np.s ! c ++ vps.ad ++ vps.ptp ++ vps.s2 ! np.a ;
a = np.a
} ;
{-
PastPartRS ant pol vp = {
s = let
be = predAux auxBe ;
ppt = vps.ptp
in \\c => np.s ! c ++ vps.ad ++ vps.ptp ++ vps.s2 ! np.a ;
a = np.a
} ;
PresPartRS rp vp = {
s = \\t,ant,b,ag =>
let
agr = case rp.a of {
RNoAg => ag ;
RAg a => a
} ;
cl = mkClause (rp.s ! RC (fromAgr agr).g npNom) agr vp
in
cl.s ! t ! ant ! b ! ODir ;
PresPartRS ant pol vp = {
s = \\agr => vp.ad ++ vp.prp ++ vp.s2 ! agr ;
c = npNom
} ;
-}
ApposNP np1 np2 = {
s = \\c => np1.s ! c ++ "," ++ np2.s ! npNom ;

View File

@@ -54,15 +54,15 @@ fun CompoundCN : Num -> N -> CN -> CN ;
that_RP : RP ;
CompS : S -> Comp ;
CompQS : QS -> Comp ;
CompVP : Ant -> Pol -> VP -> Comp ;
PassVS : VS -> VP -> VP ;
PPartNP : NP -> VPSlash -> NP ;
VPSlashVS : VS -> VP -> VPSlash ;
UncNeg : Pol ;
-- PastPartRS : Anter -> Pol -> VP -> RS ;
-- PresPartRS : Anter -> Pol -> VP -> RS ;
PastPartRS : Ant -> Pol -> VPSlash -> RS ;
PresPartRS : Ant -> Pol -> VP -> RS ;
ApposNP : NP -> NP -> NP ;

File diff suppressed because it is too large Load Diff

View File

@@ -964,6 +964,7 @@ lin almighty_N = variants {};
lin almond_N = reg2N "Mandel" "Mandeln" feminine;
lin almond_eyed_A = variants {};
lin almoner_N = variants {};
lin almost_AdA = variants {};
lin almost_AdN = ss "fast";
lin almost_Adv = variants {};
lin almost_Predet = variants {};
@@ -2039,7 +2040,8 @@ lin asymmetry_N = variants {};
lin asymptote_N = reg2N "Asymptote" "Asymptoten" feminine;
lin asymptotic_A = variants {};
lin asymptotically_Adv = variants {};
lin at_Prep = variants {};
lin at_Prep = mkPrep "am" accusative;
lin at_least_AdN = ss "zumindest";
lin at_home_N = variants {};
lin atabrine_N = variants {};
lin atavism_N = variants {};
@@ -2764,8 +2766,8 @@ lin basalt_N = variants {};
lin bascule_N = variants {};
lin base_A = variants {};
lin base_N = reg2N "Base" "Basen" feminine;
lin base_V = variants {};
lin base_V2 = variants {};
lin base_V = irregV "beziehen" "bezieht" "bezog" "bezöge" "bezogen";
lin base_V2 = dirV2 (irregV "beziehen" "bezieht" "bezog" "bezöge" "bezogen");
lin baseball_N = reg2N "Baseball" "Baseballs" masculine;
lin baseboard_N = variants {};
lin basel_PN = variants {};
@@ -7164,7 +7166,7 @@ lin compose_V2 = dirV2 (regV "bilden");
lin composed_A = variants {};
lin composer_N = reg2N "Komponist" "Komponisten" masculine;
lin composite_A = regA "zusammengesetzt";
lin composition_N = mkN "Komposition";
lin composition_N = mkN "Zusammensetzung";
lin compositor_N = variants {};
lin compost_N = variants {};
lin compost_V2 = variants {};
@@ -10058,6 +10060,7 @@ lin digging_N = variants {};
lin digit_N = reg2N "Ziffer" "Ziffern" feminine;
lin digital_A = regA "digital";
lin digitalization_N = variants {};
lin diglyceride_N = mkN "Diglycerid";
lin dignified_A = variants {};
lin dignify_V2 = variants {};
lin dignitary_N = variants {};
@@ -11928,6 +11931,7 @@ lin emu_N = reg2N "Emu" "Emus" masculine;
lin emulate_V2 = variants {};
lin emulation_N = variants {};
lin emulous_A = variants {};
lin emulsifier_N = mkN "Emulgator";
lin emulsify_V2 = variants {};
lin emulsion_N = reg2N "Emulsion" "Emulsionen" feminine;
lin en_clair_Adv = variants {};
@@ -13371,6 +13375,7 @@ lin fever_N = reg2N "Fieber" "Fieber" neuter;
lin fevered_A = variants {};
lin feverish_A = mk3A "fieberhaft" "fieberhafter" "fieberhafteste";
lin few_Num = variants {};
lin fewer_than_AdN = variants {};
lin fewness_N = variants {};
lin fey_A = variants {};
lin fez_N = reg2N "Fes" "Fese" masculine;
@@ -18897,8 +18902,8 @@ lin intemperance_N = variants {};
lin intemperate_A = variants {};
lin intend_V = regV "beabsichtigen";
lin intend_V2 = dirV2 (regV "beabsichtigen");
lin intend_V2V = variants {};
lin intend_VV = variants {};
lin intend_VS = variants {};
lin intense_A = mk3A "intensiv" "intensiver" "intensivste";
lin intensification_N = variants {};
lin intensify_V = variants {};
@@ -19849,6 +19854,7 @@ lin keenness_N = variants {};
lin keep_N = variants {};
lin keep_V = irregV "behalten" "behält" "behielt" "behielte" "behalten" ;
lin keep_V2 = dirV2 (irregV "behalten" "behält" "behielt" "behielte" "behalten" );
lin keep_V2A = variants {};
lin keep_to_V2V = variants {};
lin keep_ing_V2V = variants {};
lin keep_VA = variants {};
@@ -20752,6 +20758,7 @@ lin lesotho_PN = variants {};
lin less_AdA = variants {};
lin less_Adv = variants {};
lin less_Det = variants {};
lin less_than_AdN = variants {};
lin lessee_N = reg2N "Pächter" "Pächter" masculine;
lin lessen_V = variants {};
lin lessen_V2 = variants {};
@@ -21129,7 +21136,9 @@ lin net_N = reg2N "Netz" "Netze" neuter;
lin niggardliness_N = variants {};
lin niggling_A = variants {};
lin night_line_N = variants {};
lin no_fewer_than_AdN = variants {};
lin no_man's_land_N = variants {};
lin no_more_than_AdN = variants {};
lin nor'_east_Adv = variants {};
lin nor'_east_N = variants {};
lin nor'_nor'_east_Adv = variants {};
@@ -22613,6 +22622,7 @@ lin mean_A = mk3A "mittel" "mittlere" "mittelstee";
lin mean_N = reg2N "Durchschnitt" "Durchschnitte" masculine;
lin mean_V = regV "beabsichtigen";
lin mean_V2 = dirV2 (regV "beabsichtigen");
lin mean_V2V = variants {};
lin mean_VA = variants {};
lin mean_VV = variants {};
lin mean_VS = variants {};
@@ -23404,7 +23414,7 @@ lin mizen_N = variants {};
lin mizzen_N = variants {};
lin mizzen_mast_N = variants {};
lin mizzle_V = variants {};
lin ml_N = variants {};
lin ml_N = mk6N "ml" "ml" "ml" "ml" "ml" "ml" masculine;
lin mlle_PN = variants {};
lin mm_N = variants {};
lin mme_PN = variants {};
@@ -23684,6 +23694,8 @@ lin more_Adv = variants {};
lin moreSg_Det = variants {};
lin morePl_Det = variants {};
lin more_N = variants {};
lin more_than_AdN = variants {};
lin more_than_Predet = variants {};
lin morecambe_PN = variants {};
lin morello_N = reg2N "Schattenmorelle" "Schattenmorellen" feminine;
lin moreover_Adv = variants {};
@@ -25026,6 +25038,7 @@ lin obligate_V2V = variants {};
lin obligation_N = reg2N "Pflicht" "Pflichten" feminine;
lin obligatory_A = variants {};
lin oblige_V2 = variants {};
lin oblige_V2V = variants {};
lin obliging_A = mk3A "verbindlich" "verbindlicher" "verbindlichste";
lin oblique_A = variants {};
lin obliquity_N = variants {};
@@ -25155,7 +25168,7 @@ lin oecumenical_A = variants {};
lin oed_N = variants {};
lin oedipus_PN = variants {};
lin oesophagus_N = reg2N "Speiseröhre" "Speiseröhren" feminine;
lin of_Prep = mkPrep "zur" accusative;
lin of_Prep = mkPrep "nach" accusative;
lin off_A = variants {};
lin off_Adv = variants {};
lin off_Prep = variants {};
@@ -28558,7 +28571,7 @@ lin preoccupy_V2 = variants {};
lin preordain_V2 = variants {};
lin prep_N = variants {};
lin prepacked_A = variants {};
lin preparation_N = mkN "Vorbereitung";
lin preparation_N = mkN "Zubereitung";
lin preparatory_A = variants {};
lin prepare_V = variants {};
lin prepare_V2 = variants {};
@@ -32052,11 +32065,9 @@ lin rummage_V = regV "wühlen";
lin rummage_V2 = dirV2 (regV "wühlen");
lin rummy_A = variants {};
lin rummy_N = reg2N "Rommé" "Rommés" neuter;
lin rumor_V2 = variants {};
lin rumor_V2V = variants {};
lin rumor_VS = variants {};
lin rumour_N = variants {};
lin rumour_V2 = variants {};
lin rumour_V3 = variants {};
lin rumour_monger_N = variants {};
lin rump_N = variants {};
lin rump_steak_N = variants {};
@@ -32239,7 +32250,7 @@ lin sage_green_N = variants {};
lin sagittarius_PN = variants {};
lin sago_N = variants {};
lin sahib_N = variants {};
lin said_A = variants {};
lin said_Quant = variants {};
lin saigon_PN = variants {};
lin sail_N = reg2N "Segel" "Segel" neuter;
lin sail_V = variants {};
@@ -32657,7 +32668,7 @@ lin sceptred_A = variants {};
lin schedule_N = reg2N "Programm" "Programme" neuter;
lin schedule_V = variants {};
lin schedule_V2 = variants {};
lin schedule_VV = variants {};
lin schedule_V2V = variants {};
lin schema_N = variants {};
lin schematic_A = mk3A "schematisch" "schematischer" "schematischste";
lin schematically_Adv = variants {};
@@ -38268,7 +38279,7 @@ lin thingummy_N = variants {};
lin think_N = variants {};
lin think_V = regV "denken";
lin think_V2 = dirV2 (irregV "denken" "denkt" "dachte" "dächte" "gedacht" );
lin think_VA = variants {};
lin think_V2A = variants {};
lin think_VS = variants {};
lin think_tank_N = variants {};
lin thinkable_A = mk3A "denkbar" "denkbarer" "denkbarste";
@@ -40920,7 +40931,7 @@ lin usa_PN = variants {};
lin usable_A = regA "nutzbar";
lin usaf_N = variants {};
lin usage_N = reg2N "Gebrauch" "Gebräuche" masculine;
lin use_N = mkN "Anwendung";
lin use_N = mkN "Verwendung";
lin use_V = variants {};
lin use_V2 = dirV2 (irregV "verwenden" "verwendet" "verwendete" "verwendete" "verwendet");
lin use_V2V = variants {};
@@ -42086,7 +42097,6 @@ lin welder_N = reg2N "Schweißer" "Schweißer" masculine;
lin welfare_N = variants {};
lin welkin_N = variants {};
lin well_A = variants {};
lin well_Adv = variants {};
lin well_N = variants {};
lin well_V = variants {};
lin well_adjusted_A = variants {};
@@ -42248,7 +42258,7 @@ lin whereat_Adv = variants {};
lin whereby_Adv = variants {};
lin wherefore_Adv = variants {};
lin wherein_IAdv = variants {};
lin wherein_Subj = variants {};
lin wherein_Subj = ss "worin";
lin whereof_Adv = variants {};
lin whereon_Adv = variants {};
lin wheresoever_Adv = variants {};

View File

@@ -54,6 +54,9 @@ concrete ExtraGer of ExtraGerAbs = CatGer **
c = (prepC slash.c2.c).c
} ;
PassVPSlash vps =
insertInf (vps.s.s ! VPastPart APred) (predV werdenPass);
lincat
VPS = {s : Order => Agr => Str} ;
[VPS] = {s1,s2 : Order => Agr => Str} ;

View File

@@ -1,6 +1,7 @@
abstract ExtraGerAbs = Extra [
VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI,ClSlash,RCl,
VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS,EmptyRelSlash,
VPSlash,PassVPSlash,
Temp,Tense,Pol,S,NP,VV,VP,Conj,IAdv,IComp,ICompAP,IAdvAdv,Adv,AP] ** {
fun

View File

@@ -34,13 +34,23 @@ lin
insertObj vpi.p1 (
predVGen v.isAux v)))) ;
PPartNP np sl = heavyNP { -- guessed by KA, some fields in sl are ignored!!
s = \\c => np.s ! c ++
sl.s.s ! VPastPart APred ++
(sl.nn ! np.a).p1 ++ (sl.nn ! np.a).p2 ++ sl.a2;
a = np.a
PastPartRS ant pol sl = { -- guessed by KA, some fields in sl are ignored!!
s = \\gn => let agr = agrgP3 Masc (numGenNum gn)
in sl.s.s ! VPastPart APred ++
(sl.nn ! agr).p1 ++ (sl.nn ! agr).p2 ++ sl.a2;
c = Nom
} ;
PresPartRS ant pol vp = { -- guessed by KA!!
s = \\gn => let agr = agrgP3 Masc (numGenNum gn)
in vp.s.s ! VPresPart APred ++
(vp.nn ! agr).p1 ++ (vp.nn ! agr).p2;
c = Nom
} ;
PredVPosv = PredVP;
PredVPovs = PredVP;
{-
lin
myself_NP = mkNP (mkPronoun "itse" "itsen" "itseä" "itsenä" "itseen" Sg P1) ;
@@ -102,10 +112,10 @@ lin
OQuest => verb.aux ++ compl ++ "," ++ np.s ! npNom ++ verb.adv ++ vp.ad ++ verb.fin ++ verb.inf
}
} ;
CompS s = {s = \\_ => "that" ++ s.s} ; -- S -> Comp
CompVP vp = {s = \\a => infVP VVInf vp a} ; -- VP -> Comp
-}
CompS s = {s = \\_ => "that" ++ s.s ! Main} ; -- S -> Comp
CompVP ant p vp = {s = \\_ => useInfVP True vp} ; -- VP -> Comp
lin
that_RP = which_RP ;