1
0
forked from GitHub/gf-rgl

allow for negated CAdv

This commit is contained in:
Krasimir Angelov
2018-07-15 10:55:03 +02:00
parent 4c203cfd81
commit 19e8bab1a4
6 changed files with 16 additions and 15 deletions

View File

@@ -21,7 +21,7 @@ concrete AdjectiveEng of Adjective = CatEng ** open ResEng, Prelude in {
} ; } ;
CAdvAP ad ap np = { CAdvAP ad ap np = {
s = \\a => ad.s ++ ap.s ! a ++ ad.p ++ np.s ! npNom ; s = \\a => ad.s ! Pos ++ ap.s ! a ++ ad.p ++ np.s ! npNom ;
isPre = False isPre = False
} ; } ;

View File

@@ -3,10 +3,10 @@ concrete AdverbEng of Adverb = CatEng ** open ResEng, Prelude in {
lin lin
PositAdvAdj a = {s = a.s ! AAdv} ; PositAdvAdj a = {s = a.s ! AAdv} ;
ComparAdvAdj cadv a np = { ComparAdvAdj cadv a np = {
s = cadv.s ++ a.s ! AAdv ++ cadv.p ++ np.s ! npNom s = cadv.s ! Pos ++ a.s ! AAdv ++ cadv.p ++ np.s ! npNom
} ; } ;
ComparAdvAdjS cadv a s = { ComparAdvAdjS cadv a s = {
s = cadv.s ++ a.s ! AAdv ++ cadv.p ++ s.s s = cadv.s ! Pos ++ a.s ! AAdv ++ cadv.p ++ s.s
} ; } ;
PrepNP prep np = {s = preOrPost prep.isPre prep.s (np.s ! NPAcc)} ; PrepNP prep np = {s = preOrPost prep.isPre prep.s (np.s ! NPAcc)} ;
@@ -16,6 +16,6 @@ concrete AdverbEng of Adverb = CatEng ** open ResEng, Prelude in {
SubjS = cc2 ; SubjS = cc2 ;
AdnCAdv cadv = {s = cadv.s ++ cadv.p} ; AdnCAdv cadv = {s = cadv.s ! Pos ++ cadv.p} ;
} }

View File

@@ -1,4 +1,4 @@
concrete CatEng of Cat = CommonX - [Pol,SC] ** open ResEng, Prelude in { concrete CatEng of Cat = CommonX - [Pol,SC,CAdv] ** open ResEng, Prelude in {
flags optimize=all_subs ; flags optimize=all_subs ;
@@ -85,10 +85,9 @@ concrete CatEng of Cat = CommonX - [Pol,SC] ** open ResEng, Prelude in {
-- Structural -- Structural
Conj = {s1,s2 : Str ; n : Number} ; Conj = {s1,s2 : Str ; n : Number} ;
---b Conj = {s : Str ; n : Number} ;
---b DConj = {s1,s2 : Str ; n : Number} ;
Subj = {s : Str} ; Subj = {s : Str} ;
Prep = {s : Str; isPre : Bool} ; Prep = {s : Str; isPre : Bool} ;
CAdv = {s : Polarity => Str; p : Str} ;
-- Open lexical classes, e.g. Lexicon -- Open lexical classes, e.g. Lexicon

View File

@@ -11,10 +11,10 @@ concrete GrammarEng of Grammar =
RelativeEng, RelativeEng,
ConjunctionEng, ConjunctionEng,
PhraseEng, PhraseEng,
TextX - [Pol,PPos,PNeg,SC], TextX - [Pol,PPos,PNeg,SC,CAdv],
StructuralEng, StructuralEng,
IdiomEng, IdiomEng,
TenseX - [Pol,PPos,PNeg,SC] TenseX - [Pol,PPos,PNeg,SC,CAdv]
** open ResEng, Prelude in { ** open ResEng, Prelude in {
flags startcat = Phr ; unlexer = text ; lexer = text ; flags startcat = Phr ; unlexer = text ; lexer = text ;

View File

@@ -190,7 +190,8 @@ oper
-- Adverbs modifying adjectives and sentences can also be formed. -- Adverbs modifying adjectives and sentences can also be formed.
mkAdA : Str -> AdA ; -- e.g. quite mkAdA : Str -> AdA ; -- e.g. quite
mkCAdv : Str -> Str -> Str -> CAdv ; -- more than/no more than
-- Adverbs modifying numerals -- Adverbs modifying numerals
@@ -497,6 +498,8 @@ mkInterj : Str -> Interj
mkAdA x = lin AdA (ss x) ; mkAdA x = lin AdA (ss x) ;
mkAdN x = lin AdN (ss x) ; mkAdN x = lin AdN (ss x) ;
mkCAdv sp sn p = lin CAdv {s = table Polarity [sp;sn]; p = p} ;
mkPrep p = lin Prep {s=p; isPre=True} ; mkPrep p = lin Prep {s=p; isPre=True} ;
mkPost p = lin Prep {s=p; isPre=False} ; mkPost p = lin Prep {s=p; isPre=False} ;
noPrep = mkPrep [] ; noPrep = mkPrep [] ;

View File

@@ -1,6 +1,5 @@
concrete StructuralEng of Structural = CatEng ** concrete StructuralEng of Structural = CatEng **
open MorphoEng, ResEng, ParadigmsEng, MakeStructuralEng, open MorphoEng, ResEng, ParadigmsEng, MakeStructuralEng, Prelude in {
(C = ConstructX), Prelude in {
flags optimize=all ; flags optimize=all ;
@@ -73,9 +72,9 @@ concrete StructuralEng of Structural = CatEng **
i_Pron = mkPron "I" "me" "my" "mine" singular P1 human ; i_Pron = mkPron "I" "me" "my" "mine" singular P1 human ;
in_Prep = mkPrep "in" ; in_Prep = mkPrep "in" ;
it_Pron = mkPron "it" "it" "its" "its" singular P3 nonhuman ; it_Pron = mkPron "it" "it" "its" "its" singular P3 nonhuman ;
less_CAdv = C.mkCAdv "less" "than" ; less_CAdv = mkCAdv "less" "no less" "than" ;
many_Det = mkDeterminer plural "many" ; many_Det = mkDeterminer plural "many" ;
more_CAdv = C.mkCAdv "more" "than" ; more_CAdv = mkCAdv "more" "no more" "than" ;
most_Predet = ss "most" ; most_Predet = ss "most" ;
much_Det = mkDeterminer singular "much" ; much_Det = mkDeterminer singular "much" ;
must_VV = { must_VV = {
@@ -153,7 +152,7 @@ concrete StructuralEng of Structural = CatEng **
except_Prep = mkPrep "except" ; except_Prep = mkPrep "except" ;
as_CAdv = C.mkCAdv "as" "as" ; as_CAdv = mkCAdv "as" "not as" "as" ;
have_V2 = dirV2 (mk5V "have" "has" "had" "had" "having") ; have_V2 = dirV2 (mk5V "have" "has" "had" "had" "having") ;
that_Subj = ss "that" ; that_Subj = ss "that" ;