1
0
forked from GitHub/gf-rgl

premodifiers like never can change the polarity of VP

This commit is contained in:
Krasimir Angelov
2018-06-07 14:27:45 +02:00
parent bf37eb06a9
commit fe72ccdec1
8 changed files with 12 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
--# -coding=utf8 --# -coding=utf8
concrete CatBul of Cat = CommonX - [IAdv,CAdv,SC] ** open ResBul, Prelude, Predef, (R = ParamX) in { concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, Predef, (R = ParamX) in {
lincat lincat
-- Tensed/Untensed -- Tensed/Untensed
@@ -42,10 +42,11 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,SC] ** open ResBul, Prelude, Prede
AP = {s : AForm => Person => Str; adv : Str; isPre : Bool} ; AP = {s : AForm => Person => Str; adv : Str; isPre : Bool} ;
-- Adjective -- Adverb
CAdv = {s : Str; sn : Str} ; CAdv = {s : Str; sn : Str} ;
IAdv = {s : QForm => Str} ; IAdv = {s : QForm => Str} ;
AdV = {s : Str; p : Polarity} ;
SC = {s : Agr => Str} ; SC = {s : Agr => Str} ;
-- Noun -- Noun

View File

@@ -17,6 +17,7 @@ concrete ConjunctionBul of Conjunction =
ConjAdV conj ss = { ConjAdV conj ss = {
s = conj.s ++ (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj; s = conj.s ++ (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj;
p = Pos
} ; } ;
ConjIAdv conj ss = { ConjIAdv conj ss = {

View File

@@ -29808,7 +29808,7 @@ lin
otb_ja_gvane_N = mkN071 "отбягване" ; otb_ja_gvane_N = mkN071 "отбягване" ;
otvara_N = mkN041 "отвара" ; otvara_N = mkN041 "отвара" ;
otvara_ch_ka_N = mkN041 "отварачка" ; otvara_ch_ka_N = mkN041 "отварачка" ;
otvar_ja_m_V = actionV (mkV187 "отварям") (mkV152 "отбегна") ; otvar_ja_m_V = actionV (mkV187 "отварям") (mkV173 "отворя")) ;
otvar_ja_ne_N = mkN071 "отваряне" ; otvar_ja_ne_N = mkN071 "отваряне" ;
otve_zj_dam_V = actionV (mkV186 "отвеждам") (mkV145 "отведа") ; otve_zj_dam_V = actionV (mkV186 "отвеждам") (mkV145 "отведа") ;
otve_zj_dane_N = mkN071 "отвеждане" ; otve_zj_dane_N = mkN071 "отвеждане" ;

View File

@@ -4,7 +4,7 @@ concrete ExtendBul of Extend = CatBul ** open Prelude, Predef, ResBul, GrammarBu
lin lin
GenModNP num np cn = DetCN (DetQuant DefArt num) (AdvCN cn (PrepNP possess_Prep np)) ; -- this man's car(s) ; DEFAULT the car of this man GenModNP num np cn = DetCN (DetQuant DefArt num) (AdvCN cn (PrepNP possess_Prep np)) ; -- this man's car(s) ; DEFAULT the car of this man
AdAdV = cc2 ; AdAdV a adv = {s = a.s ++ adv.s; p = adv.p} ;
EmptyRelSlash slash = { EmptyRelSlash slash = {
s = \\t,a,p,agr => slash.c2.s ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main ; s = \\t,a,p,agr => slash.c2.s ++ whichRP ! agr.gn ++ slash.s ! agr ! t ! a ! p ! Main ;
@@ -26,7 +26,7 @@ lin
g = n2.g g = n2.g
} ; } ;
PositAdVAdj a = {s = a.adv} ; PositAdVAdj a = {s = a.adv; p = Pos} ;
PresPartAP vp = PresPartAP vp =
let ap : AForm => Person => Str let ap : AForm => Person => Str

View File

@@ -15,7 +15,7 @@ concrete GrammarBul of Grammar =
TextBul, TextBul,
StructuralBul, StructuralBul,
IdiomBul, IdiomBul,
TenseX - [CAdv,IAdv,SC] TenseX - [CAdv,IAdv,AdV,SC]
** { ** {
flags coding=cp1251 ; flags coding=cp1251 ;

View File

@@ -16,7 +16,8 @@ oper
-- after the verb. Some can be preverbal (e.g. "always"). -- after the verb. Some can be preverbal (e.g. "always").
mkAdv : Str -> Adv = \x -> ss x ** {lock_Adv = <>} ; mkAdv : Str -> Adv = \x -> ss x ** {lock_Adv = <>} ;
mkAdV : Str -> AdV = \x -> ss x ** {lock_AdV = <>} ; mkAdV : Str -> AdV = \x -> {s = x; p = Pos; lock_AdV = <>} ;
mkAdVNegative : Str -> AdV = \x -> {s = x; p = Neg; lock_AdV = <>} ;
-- Adverbs modifying adjectives and sentences can also be formed. -- Adverbs modifying adjectives and sentences can also be formed.

View File

@@ -13,7 +13,7 @@ concrete StructuralBul of Structural = CatBul **
almost_AdA, almost_AdN = ss "ïî÷òè" ; almost_AdA, almost_AdN = ss "ïî÷òè" ;
at_least_AdN, at_most_AdN = ss "ïî÷òè" ; ---- AR at_least_AdN, at_most_AdN = ss "ïî÷òè" ; ---- AR
although_Subj = ss ["âúïðåêè ÷å"] ; although_Subj = ss ["âúïðåêè ÷å"] ;
always_AdV = ss "âèíàãè" ; always_AdV = mkAdV "âèíàãè" ;
and_Conj = {s=[]; conj=0; distr=False; n = Pl} ; and_Conj = {s=[]; conj=0; distr=False; n = Pl} ;
because_Subj = ss "çàùîòî" ; because_Subj = ss "çàùîòî" ;
before_Prep = mkPrep "ïðåäè" Acc ; before_Prep = mkPrep "ïðåäè" Acc ;

View File

@@ -91,7 +91,7 @@ concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in {
ad = {isEmpty=False; s=vp.ad.s ++ adv.s} ; ad = {isEmpty=False; s=vp.ad.s ++ adv.s} ;
compl = vp.compl ; compl = vp.compl ;
vtype = vp.vtype ; vtype = vp.vtype ;
p = vp.p ; p = orPol adv.p vp.p ;
isSimple = vp.isSimple isSimple = vp.isSimple
} ; } ;
AdVVPSlash adv vp = { AdVVPSlash adv vp = {