forked from GitHub/gf-core
some missing Swe functions; ParseEng.who_RP to enable the parsing of "who" as RP, which is now blocked since Eng nouns don't have the human feature marked
This commit is contained in:
@@ -113,6 +113,11 @@ lin
|
|||||||
a = RNoAg
|
a = RNoAg
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
who_RP = {
|
||||||
|
s = \\_ => "who" ;
|
||||||
|
a = RNoAg
|
||||||
|
} ;
|
||||||
|
|
||||||
CompS s = {s = \\_ => "that" ++ s.s} ;
|
CompS s = {s = \\_ => "that" ++ s.s} ;
|
||||||
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
|
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
|
||||||
CompVP ant p vp = {s = \\a => ant.s ++ p.s ++
|
CompVP ant p vp = {s = \\a => ant.s ++ p.s ++
|
||||||
|
|||||||
@@ -51,6 +51,7 @@ fun CompoundCN : Num -> N -> CN -> CN ;
|
|||||||
PredVPosv,PredVPovs : NP -> VP -> Cl ;
|
PredVPosv,PredVPovs : NP -> VP -> Cl ;
|
||||||
|
|
||||||
that_RP : RP ;
|
that_RP : RP ;
|
||||||
|
who_RP : RP ;
|
||||||
|
|
||||||
CompS : S -> Comp ;
|
CompS : S -> Comp ;
|
||||||
CompQS : QS -> Comp ;
|
CompQS : QS -> Comp ;
|
||||||
|
|||||||
@@ -123,6 +123,8 @@ incomplete concrete CatScand of Cat =
|
|||||||
V3 = \v -> infVP (predV v) agrUSgP3 ++ v.c2.s ++ v.c3.s ;
|
V3 = \v -> infVP (predV v) agrUSgP3 ++ v.c2.s ++ v.c3.s ;
|
||||||
VV = \v -> infVP (predV v) agrUSgP3 ;
|
VV = \v -> infVP (predV v) agrUSgP3 ;
|
||||||
V2V = \v -> infVP (predV v) agrUSgP3 ++ v.c2.s ;
|
V2V = \v -> infVP (predV v) agrUSgP3 ++ v.c2.s ;
|
||||||
|
|
||||||
|
Conj = \c -> c.s1 ++ c.s2 ;
|
||||||
{-
|
{-
|
||||||
A = \a -> a.s ! AAdj Posit Nom ;
|
A = \a -> a.s ! AAdj Posit Nom ;
|
||||||
A2 = \a -> a.s ! AAdj Posit Nom ++ a.c2 ;
|
A2 = \a -> a.s ! AAdj Posit Nom ++ a.c2 ;
|
||||||
|
|||||||
@@ -315,6 +315,17 @@ oper
|
|||||||
eext = vp.eext
|
eext = vp.eext
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
insertExt : Str -> VP -> VP = \ext,vp -> {
|
||||||
|
s = vp.s ;
|
||||||
|
a1 = vp.a1 ;
|
||||||
|
n2 = vp.n2 ;
|
||||||
|
a2 = vp.a2 ;
|
||||||
|
ext = vp.ext ++ ext ;
|
||||||
|
en2 = vp.en2 ;
|
||||||
|
ea2 = vp.ea2 ;
|
||||||
|
eext = True ;
|
||||||
|
} ;
|
||||||
|
|
||||||
insertAdV : Str -> VP -> VP = \adv,vp -> {
|
insertAdV : Str -> VP -> VP = \adv,vp -> {
|
||||||
s = vp.s ;
|
s = vp.s ;
|
||||||
a1 = \\b => vp.a1 ! b ++ adv ;
|
a1 = \\b => vp.a1 ! b ++ adv ;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ incomplete concrete VerbScand of Verb = CatScand ** open CommonScand, ResScand,
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
ComplVV v vp = insertObjPost (\\a => v.c2.s ++ infVP vp a) (predV v) ;
|
ComplVV v vp = insertObjPost (\\a => v.c2.s ++ infVP vp a) (predV v) ;
|
||||||
ComplVS v s = insertObjPost (\\_ => conjThat ++ s.s ! Sub) (predV v) ;
|
ComplVS v s = insertObjPost (\\_ => conjThat ++ s.s ! Sub) (predV v) ; --- insertExt ?
|
||||||
ComplVQ v q = insertObjPost (\\_ => q.s ! QIndir) (predV v) ;
|
ComplVQ v q = insertObjPost (\\_ => q.s ! QIndir) (predV v) ;
|
||||||
ComplVA v ap = insertObjPost (\\a => ap.s ! agrAdjNP a DIndef) (predV v) ;
|
ComplVA v ap = insertObjPost (\\a => ap.s ! agrAdjNP a DIndef) (predV v) ;
|
||||||
|
|
||||||
@@ -76,4 +76,8 @@ incomplete concrete VerbScand of Verb = CatScand ** open CommonScand, ResScand,
|
|||||||
|
|
||||||
UseCopula = predV verbBe ;
|
UseCopula = predV verbBe ;
|
||||||
|
|
||||||
|
AdvVPSlash vps adv = insertAdv adv.s vps ** {c2 = vps.c2 ; n3 = vps.n3} ;
|
||||||
|
AdVVPSlash adv vps = insertAdV adv.s vps ** {c2 = vps.c2 ; n3 = vps.n3} ;
|
||||||
|
ExtAdvVP vp adv = insertExt ("," ++ adv.s) vp ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ lin
|
|||||||
PredVPovs np vp = mkCl np vp ; ----
|
PredVPovs np vp = mkCl np vp ; ----
|
||||||
|
|
||||||
that_RP = which_RP ; -- som
|
that_RP = which_RP ; -- som
|
||||||
|
who_RP = who_RP ;
|
||||||
|
|
||||||
CompS s = {s = \\_ => "att" ++ s.s ! Sub} ;
|
CompS s = {s = \\_ => "att" ++ s.s ! Sub} ;
|
||||||
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
|
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
|
||||||
|
|||||||
Reference in New Issue
Block a user