forked from GitHub/gf-rgl
SC in English needs an agreement
This commit is contained in:
@@ -36,7 +36,7 @@ concrete AdjectiveEng of Adjective = CatEng ** open ResEng, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
SentAP ap sc = {
|
SentAP ap sc = {
|
||||||
s = \\a => ap.s ! a ++ sc.s ;
|
s = \\a => ap.s ! a ++ sc.s ! a ;
|
||||||
isPre = False
|
isPre = False
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
concrete CatEng of Cat = CommonX - [Pol] ** open ResEng, Prelude in {
|
concrete CatEng of Cat = CommonX - [Pol,SC] ** open ResEng, Prelude in {
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
flags optimize=all_subs ;
|
||||||
|
|
||||||
@@ -49,6 +49,7 @@ concrete CatEng of Cat = CommonX - [Pol] ** open ResEng, Prelude in {
|
|||||||
-- Adjective
|
-- Adjective
|
||||||
|
|
||||||
AP = {s : Agr => Str ; isPre : Bool} ;
|
AP = {s : Agr => Str ; isPre : Bool} ;
|
||||||
|
SC = {s : Agr => Str} ;
|
||||||
|
|
||||||
-- Noun
|
-- Noun
|
||||||
|
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ concrete ExtendEng of Extend =
|
|||||||
isPre = vp.isSimple -- depends on whether there are complements
|
isPre = vp.isSimple -- depends on whether there are complements
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
EmbedPresPart vp = {s = infVP VVPresPart vp Simul CPos (agrP3 Sg)} ; --- agr
|
EmbedPresPart vp = {s = \\a => infVP VVPresPart vp Simul CPos a} ;
|
||||||
|
|
||||||
PastPartAP vp = {
|
PastPartAP vp = {
|
||||||
s = \\a => vp.ad ! a ++ vp.ptp ++ vp.p ++ vp.c2 ++ vp.s2 ! a ++ vp.ext ;
|
s = \\a => vp.ad ! a ++ vp.ptp ++ vp.p ++ vp.c2 ++ vp.s2 ! a ++ vp.ext ;
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ concrete ExtraEng of ExtraEngAbs = CatEng **
|
|||||||
isPre = vp.isSimple -- depends on whether there are complements
|
isPre = vp.isSimple -- depends on whether there are complements
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
EmbedPresPart vp = {s = infVP VVPresPart vp Simul CPos (agrP3 Sg)} ; --- agr
|
EmbedPresPart vp = {s = \\a => infVP VVPresPart vp Simul CPos a} ; --- agr
|
||||||
|
|
||||||
UttVPShort vp = {s = infVP VVAux vp Simul CPos (agrP3 Sg)} ;
|
UttVPShort vp = {s = infVP VVAux vp Simul CPos (agrP3 Sg)} ;
|
||||||
|
|
||||||
@@ -357,4 +357,4 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ concrete GrammarEng of Grammar =
|
|||||||
RelativeEng,
|
RelativeEng,
|
||||||
ConjunctionEng,
|
ConjunctionEng,
|
||||||
PhraseEng,
|
PhraseEng,
|
||||||
TextX - [Pol,PPos,PNeg],
|
TextX - [Pol,PPos,PNeg,SC],
|
||||||
StructuralEng,
|
StructuralEng,
|
||||||
IdiomEng,
|
IdiomEng,
|
||||||
TenseX - [Pol,PPos,PNeg]
|
TenseX - [Pol,PPos,PNeg,SC]
|
||||||
** open ResEng, Prelude in {
|
** open ResEng, Prelude in {
|
||||||
|
|
||||||
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ concrete NounEng of Noun = CatEng ** open MorphoEng, ResEng, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
AdvCN cn ad = {s = \\n,c => cn.s ! n ! c ++ ad.s ; g = cn.g} ;
|
AdvCN cn ad = {s = \\n,c => cn.s ! n ! c ++ ad.s ; g = cn.g} ;
|
||||||
|
|
||||||
SentCN cn sc = {s = \\n,c => cn.s ! n ! c ++ sc.s ; g = cn.g} ;
|
SentCN cn sc = {s = \\n,c => cn.s ! n ! c ++ sc.s ! agrgP3 n cn.g ; g = cn.g} ;
|
||||||
|
|
||||||
ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! NCase c ; g = cn.g} ;
|
ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! NCase c ; g = cn.g} ;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in {
|
|||||||
|
|
||||||
PredVP np vp = mkClause (np.s ! npNom) np.a vp ;
|
PredVP np vp = mkClause (np.s ! npNom) np.a vp ;
|
||||||
|
|
||||||
PredSCVP sc vp = mkClause sc.s (agrP3 Sg) vp ;
|
PredSCVP sc vp = let a = agrP3 Sg in mkClause (sc.s ! a) a vp ;
|
||||||
|
|
||||||
ImpVP vp = {
|
ImpVP vp = {
|
||||||
s = \\pol,n =>
|
s = \\pol,n =>
|
||||||
@@ -37,9 +37,9 @@ concrete SentenceEng of Sentence = CatEng ** open Prelude, ResEng in {
|
|||||||
(insertObj (\\_ => conjThat ++ slash.s) (predV vs)) **
|
(insertObj (\\_ => conjThat ++ slash.s) (predV vs)) **
|
||||||
{c2 = slash.c2} ;
|
{c2 = slash.c2} ;
|
||||||
|
|
||||||
EmbedS s = {s = conjThat ++ s.s} ;
|
EmbedS s = {s = \\_ => conjThat ++ s.s} ;
|
||||||
EmbedQS qs = {s = qs.s ! QIndir} ;
|
EmbedQS qs = {s = \\_ => qs.s ! QIndir} ;
|
||||||
EmbedVP vp = {s = infVP VVInf vp Simul CPos (agrP3 Sg)} ; --- agr
|
EmbedVP vp = {s = \\a => infVP VVInf vp Simul CPos a} ;
|
||||||
|
|
||||||
UseCl t p cl = {
|
UseCl t p cl = {
|
||||||
s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! oDir
|
s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! oDir
|
||||||
|
|||||||
Reference in New Issue
Block a user