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 = {
|
AdjOrd ord = {
|
||||||
s = \\_ => ord.s ;
|
s = \\_ => ord.s ;
|
||||||
adv = ord.s ;
|
adv = ord.s ;
|
||||||
isPre = ord.isPre
|
isPre = ord.isPre ;
|
||||||
|
afterPrefix = False ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
AdvAP ap adv = ap ** {
|
AdvAP ap adv = ap ** {
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ concrete ConjunctionPes of Conjunction =
|
|||||||
isCmpd : CmpdStatus;
|
isCmpd : CmpdStatus;
|
||||||
hasAdj : Bool ;
|
hasAdj : Bool ;
|
||||||
compl : Number => Str} ;
|
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} ;
|
[RS] = {s1,s2 : Agr => Str ; rp : RelPron => Str} ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
|
|||||||
@@ -150,7 +150,8 @@ oper
|
|||||||
Adjective : Type = {
|
Adjective : Type = {
|
||||||
s : Mod => Str ;
|
s : Mod => Str ;
|
||||||
adv : 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 -> {
|
mkAdj : Str -> Str -> Adjective = \adj,adv -> {
|
||||||
@@ -159,7 +160,7 @@ oper
|
|||||||
Clitic => mkEnclic adj ;
|
Clitic => mkEnclic adj ;
|
||||||
Poss => mkPossStem 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 : Str -> A ; -- Regular adjective, same form for adjective and adverb.
|
||||||
mkA : (adj,adv : Str) -> A -- Different forms 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.
|
mkA2 : (married,to : Str) -> A2 -- Takes string and complementiser, returns A2.
|
||||||
= \a,c -> lin A2 (mkAdj a a ** {c2 = c}) ;
|
= \a,c -> lin A2 (mkAdj a a ** {c2 = c}) ;
|
||||||
@@ -303,6 +304,8 @@ oper
|
|||||||
= \a,c -> lin A2 (mkAdj a a ** {c2 = c})
|
= \a,c -> lin A2 (mkAdj a a ** {c2 = c})
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
prefixA a = a ** {isPre=True};
|
||||||
|
|
||||||
preA : (adj,adv : Str) -> A = \adj,adv ->
|
preA : (adj,adv : Str) -> A = \adj,adv ->
|
||||||
lin A ((mkAdj adj adv) ** {isPre=True}) ;
|
lin A ((mkAdj adj adv) ** {isPre=True}) ;
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,11 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in {
|
|||||||
ComplVV = insertVV ;
|
ComplVV = insertVV ;
|
||||||
ComplVS v s = embComp (conjThat ++ s.s ! v.compl) (predV v) ;
|
ComplVS v s = embComp (conjThat ++ s.s ! v.compl) (predV v) ;
|
||||||
ComplVQ v q = embComp (conjThat ++ q.s) (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 ;
|
SlashVV vv vps = vps ** ComplVV vv vps ;
|
||||||
SlashV2S v s = predVc v ** embComp (conjThat ++ s.s ! Indic) (predV v) ;
|
SlashV2S v s = predVc v ** embComp (conjThat ++ s.s ! Indic) (predV v) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user