mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-27 03:38:55 -06:00
three new uses of "self" in Idion(Eng,Fin,Ger,Swe): SelfAdvVP (he is singing himself), SelfAdVVP (he is himself singing), SelfNP (he himself is singing; I know the president himself)
This commit is contained in:
@@ -43,7 +43,7 @@ incomplete concrete CatScand of Cat =
|
||||
fin : Str ; -- V1 har ---s1
|
||||
inf : Str -- V2 sagt ---s4
|
||||
} ;
|
||||
a1 : Polarity => Str ; -- A1 inte ---s3
|
||||
a1 : Polarity => Agr => Str ; -- A1 inte ---s3
|
||||
n2 : Agr => Str ; -- N2 dig ---s5
|
||||
a2 : Str ; -- A2 idag ---s6
|
||||
ext : Str ; -- S-Ext att hon går ---s7
|
||||
|
||||
@@ -274,7 +274,7 @@ oper
|
||||
fin : Str ; -- V1 har ---s1
|
||||
inf : Str -- V2 sagt ---s4
|
||||
} ;
|
||||
a1 : Polarity => Str ; -- A1 inte ---s3
|
||||
a1 : Polarity => Agr => Str ; -- A1 inte ---s3 själv/själva/självt
|
||||
n2 : Agr => Str ; -- N2 dig ---s5
|
||||
a2 : Str ; -- A2 idag ---s6
|
||||
ext : Str ; -- S-Ext att hon går ---s7
|
||||
@@ -327,9 +327,11 @@ oper
|
||||
eext = True ;
|
||||
} ;
|
||||
|
||||
insertAdV : Str -> VP -> VP = \adv,vp -> {
|
||||
insertAdV : Str -> VP -> VP = \adv -> insertAdVAgr (\\_ => adv) ;
|
||||
|
||||
insertAdVAgr : (Agr => Str) -> VP -> VP = \adv,vp -> {
|
||||
s = vp.s ;
|
||||
a1 = \\b => vp.a1 ! b ++ adv ;
|
||||
a1 = \\b,a => vp.a1 ! b ! a ++ adv ! a ;
|
||||
n2 = vp.n2 ;
|
||||
a2 = vp.a2 ;
|
||||
ext = vp.ext ;
|
||||
@@ -352,7 +354,7 @@ oper
|
||||
infVP : VP -> Agr -> Str = \vp,a -> infVPPlus vp a Simul Pos ;
|
||||
|
||||
infVPPlus : VP -> Agr -> Anteriority -> Polarity -> Str = \vp,a,ant,pol ->
|
||||
vp.a1 ! pol ++ (vp.s ! Act ! VPInfinit ant).inf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ; --- a1
|
||||
vp.a1 ! pol ! a ++ (vp.s ! Act ! VPInfinit ant).inf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ; --- a1
|
||||
|
||||
|
||||
-- For $Sentence$.
|
||||
@@ -365,7 +367,7 @@ oper
|
||||
s = \\t,a,b,o =>
|
||||
let
|
||||
verb = vp.s ! Act ! VPFinite t a ;
|
||||
neg = vp.a1 ! b ;
|
||||
neg = vp.a1 ! b ! agr ;
|
||||
compl = vp.n2 ! agr ++ vp.a2 ++ vp.ext
|
||||
in
|
||||
case o of {
|
||||
|
||||
@@ -76,7 +76,7 @@ incomplete concrete ExtraScand of ExtraScandAbs = CatScand **
|
||||
MkVPS t p vp = {
|
||||
s = \\o,a =>
|
||||
let
|
||||
neg = vp.a1 ! p.p ;
|
||||
neg = vp.a1 ! p.p ! a ;
|
||||
verb = vp.s ! Act ! VPFinite t.t t.a ;
|
||||
compl = verb.inf ++ vp.n2 ! a ++ vp.a2 ++ vp.ext ;
|
||||
in t.s ++ p.s ++ case o of {
|
||||
|
||||
@@ -66,7 +66,7 @@ interface ResScand = DiffScand ** open CommonScand, Prelude in {
|
||||
VPInfinit Anter => vf [] (ha ++ vsup d) ; --# notpresent
|
||||
VPInfinit Simul => vf [] (vinf d)
|
||||
} ;
|
||||
a1 : Polarity => Str = negation ;
|
||||
a1 : Polarity => Agr => Str = \\p,a => negation ! p ;
|
||||
n2 : Agr => Str = \\a => case verb.vtype of {
|
||||
VRefl => reflPron a ;
|
||||
_ => []
|
||||
|
||||
@@ -14,7 +14,7 @@ incomplete concrete SentenceScand of Sentence =
|
||||
agr = {g = Utr ; n = n ; p = P2} ;
|
||||
verb = vp.s ! Act ! VPImperat ;
|
||||
in
|
||||
verb.fin ++ vp.a1 ! pol ++ verb.inf ++ vp.n2 ! agr ++ vp.a2 ++ vp.ext
|
||||
verb.fin ++ vp.a1 ! pol ! agr ++ verb.inf ++ vp.n2 ! agr ++ vp.a2 ++ vp.ext
|
||||
} ;
|
||||
|
||||
SlashVP np vp =
|
||||
|
||||
Reference in New Issue
Block a user