forked from GitHub/gf-rgl
(Pes) Add parameter in A+AP about AP's placement as predicative
Co-Authored-By: Nasrin Mostofian <nasrin.mostofian@gmail.com>
This commit is contained in:
@@ -43,7 +43,8 @@ concrete AdjectivePes of Adjective = CatPes ** open ResPes, Prelude in {
|
||||
AdjOrd ord = {
|
||||
s = \\_ => ord.s ;
|
||||
adv = ord.s ;
|
||||
isPre = ord.isPre
|
||||
isPre = ord.isPre ;
|
||||
afterPrefix = False ;
|
||||
} ;
|
||||
|
||||
AdvAP ap adv = ap ** {
|
||||
|
||||
@@ -48,7 +48,7 @@ concrete ConjunctionPes of Conjunction =
|
||||
isCmpd : CmpdStatus;
|
||||
hasAdj : Bool ;
|
||||
compl : Number => Str} ;
|
||||
[AP] = {s1,s2 : Mod => Str ; adv : Str ; isPre : Bool} ;
|
||||
[AP] = {s1,s2 : Mod => Str ; adv : Str ; isPre,afterPrefix : Bool} ;
|
||||
[RS] = {s1,s2 : Agr => Str ; rp : RelPron => Str} ;
|
||||
|
||||
oper
|
||||
|
||||
@@ -150,7 +150,8 @@ oper
|
||||
Adjective : Type = {
|
||||
s : Mod => Str ;
|
||||
adv : Str ;
|
||||
isPre : Bool
|
||||
isPre : Bool ; -- as attributive
|
||||
afterPrefix : Bool ; -- as predicative, does it go between the prefix and the light verb
|
||||
} ;
|
||||
|
||||
mkAdj : Str -> Str -> Adjective = \adj,adv -> {
|
||||
@@ -159,7 +160,7 @@ oper
|
||||
Clitic => mkEnclic adj ;
|
||||
Poss => mkPossStem adj
|
||||
} ;
|
||||
adv = adv ; isPre = False
|
||||
adv = adv ; isPre = False ; afterPrefix = True ;
|
||||
};
|
||||
|
||||
------------------------------------------------------------------
|
||||
|
||||
@@ -88,6 +88,7 @@ oper
|
||||
mkA : Str -> A ; -- Regular adjective, same form for adjective and adverb.
|
||||
mkA : (adj,adv : Str) -> A -- Different forms for adjective and adverb.
|
||||
} ;
|
||||
prefixA : A -> A ; -- Adjective that comes before the noun
|
||||
|
||||
mkA2 : (married,to : Str) -> A2 -- Takes string and complementiser, returns A2.
|
||||
= \a,c -> lin A2 (mkAdj a a ** {c2 = c}) ;
|
||||
@@ -303,6 +304,8 @@ oper
|
||||
= \a,c -> lin A2 (mkAdj a a ** {c2 = c})
|
||||
} ;
|
||||
|
||||
prefixA a = a ** {isPre=True};
|
||||
|
||||
preA : (adj,adv : Str) -> A = \adj,adv ->
|
||||
lin A ((mkAdj adj adv) ** {isPre=True}) ;
|
||||
|
||||
|
||||
@@ -15,7 +15,11 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in {
|
||||
ComplVV = insertVV ;
|
||||
ComplVS v s = embComp (conjThat ++ s.s ! v.compl) (predV v) ;
|
||||
ComplVQ v q = embComp (conjThat ++ q.s) (predV v) ;
|
||||
ComplVA v ap = insertObj (appComp v.c2 ap.s) (predV v) ; -- check form of adjective
|
||||
ComplVA v ap = let adjStr = appComp v.c2 ap.s in
|
||||
case ap.afterPrefix of {
|
||||
True => predV (v ** {prefix = v.prefix ++ adjStr}) ;
|
||||
False => insertObj adjStr (predV v) -- check form of adjective
|
||||
} ;
|
||||
|
||||
SlashVV vv vps = vps ** ComplVV vv vps ;
|
||||
SlashV2S v s = predVc v ** embComp (conjThat ++ s.s ! Indic) (predV v) ;
|
||||
|
||||
Reference in New Issue
Block a user