forked from GitHub/gf-core
added ExtAdvNP and ExtAdvVP in the resource grammar
This commit is contained in:
@@ -27,6 +27,7 @@ abstract Noun = Cat ** {
|
|||||||
|
|
||||||
PPartNP : NP -> V2 -> NP ; -- the man seen
|
PPartNP : NP -> V2 -> NP ; -- the man seen
|
||||||
AdvNP : NP -> Adv -> NP ; -- Paris today
|
AdvNP : NP -> Adv -> NP ; -- Paris today
|
||||||
|
ExtAdvNP: NP -> Adv -> NP ; -- boys, such as ..
|
||||||
RelNP : NP -> RS -> NP ; -- Paris, which is here
|
RelNP : NP -> RS -> NP ; -- Paris, which is here
|
||||||
|
|
||||||
-- Determiners can form noun phrases directly.
|
-- Determiners can form noun phrases directly.
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ abstract Verb = Cat ** {
|
|||||||
-- vs. next to (or before) the verb.
|
-- vs. next to (or before) the verb.
|
||||||
|
|
||||||
AdvVP : VP -> Adv -> VP ; -- sleep here
|
AdvVP : VP -> Adv -> VP ; -- sleep here
|
||||||
|
ExtAdvVP : VP -> Adv -> VP ; -- sleep , even though ...
|
||||||
AdVVP : AdV -> VP -> VP ; -- always sleep
|
AdVVP : AdV -> VP -> VP ; -- always sleep
|
||||||
|
|
||||||
AdvVPSlash : VPSlash -> Adv -> VPSlash ; -- use (it) here
|
AdvVPSlash : VPSlash -> Adv -> VPSlash ; -- use (it) here
|
||||||
|
|||||||
@@ -61,6 +61,11 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
a = np.a
|
a = np.a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
ExtAdvNP np adv = {
|
||||||
|
s = \\c => np.s ! c ++ "," ++ adv.s ;
|
||||||
|
a = np.a
|
||||||
|
} ;
|
||||||
|
|
||||||
DetQuant quant num = {
|
DetQuant quant num = {
|
||||||
s = \\sp,g,c => let sp' = case num.nonEmpty of { True => True ;
|
s = \\sp,g,c => let sp' = case num.nonEmpty of { True => True ;
|
||||||
False => sp }
|
False => sp }
|
||||||
|
|||||||
@@ -31,6 +31,11 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in {
|
|||||||
a = np.a
|
a = np.a
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
ExtAdvNP np adv = {
|
||||||
|
s = \\c => np.s ! c ++ "," ++ adv.s ++ finalComma;
|
||||||
|
a = np.a
|
||||||
|
} ;
|
||||||
|
|
||||||
DetQuant quant num = {
|
DetQuant quant num = {
|
||||||
s = quant.s ! num.hasCard ! num.n ++ num.s ! Nom;
|
s = quant.s ! num.hasCard ! num.n ++ num.s ! Nom;
|
||||||
sp = \\c => case num.hasCard of {
|
sp = \\c => case num.hasCard of {
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ concrete VerbEng of Verb = CatEng ** open ResEng, Prelude in {
|
|||||||
UseComp comp = insertObj comp.s (predAux auxBe) ;
|
UseComp comp = insertObj comp.s (predAux auxBe) ;
|
||||||
|
|
||||||
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
AdvVP vp adv = insertObj (\\_ => adv.s) vp ;
|
||||||
|
ExtAdvVP vp adv = insertObj (\\_ => "," ++ adv.s ++ finalComma) vp ;
|
||||||
AdVVP adv vp = insertAdV adv.s vp ;
|
AdVVP adv vp = insertAdV adv.s vp ;
|
||||||
|
|
||||||
AdvVPSlash vp adv = insertObj (\\_ => adv.s) vp ** {c2 = vp.c2 ; gapInMiddle = vp.gapInMiddle} ;
|
AdvVPSlash vp adv = insertObj (\\_ => adv.s) vp ** {c2 = vp.c2 ; gapInMiddle = vp.gapInMiddle} ;
|
||||||
|
|||||||
Reference in New Issue
Block a user