mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-15 15:59:32 -06:00
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
|
||||
} ;
|
||||
|
||||
who_RP = {
|
||||
s = \\_ => "who" ;
|
||||
a = RNoAg
|
||||
} ;
|
||||
|
||||
CompS s = {s = \\_ => "that" ++ s.s} ;
|
||||
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
|
||||
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 ;
|
||||
|
||||
that_RP : RP ;
|
||||
who_RP : RP ;
|
||||
|
||||
CompS : S -> 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 ;
|
||||
VV = \v -> infVP (predV v) agrUSgP3 ;
|
||||
V2V = \v -> infVP (predV v) agrUSgP3 ++ v.c2.s ;
|
||||
|
||||
Conj = \c -> c.s1 ++ c.s2 ;
|
||||
{-
|
||||
A = \a -> a.s ! AAdj Posit Nom ;
|
||||
A2 = \a -> a.s ! AAdj Posit Nom ++ a.c2 ;
|
||||
|
||||
@@ -315,6 +315,17 @@ oper
|
||||
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 -> {
|
||||
s = vp.s ;
|
||||
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) ;
|
||||
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) ;
|
||||
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 ;
|
||||
|
||||
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 ; ----
|
||||
|
||||
that_RP = which_RP ; -- som
|
||||
who_RP = who_RP ;
|
||||
|
||||
CompS s = {s = \\_ => "att" ++ s.s ! Sub} ;
|
||||
CompQS qs = {s = \\_ => qs.s ! QIndir} ;
|
||||
|
||||
Reference in New Issue
Block a user