From 317fdfbeaa8fb7ee84e3496149a03f14ca9502bc Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Sun, 10 Jun 2018 08:21:00 +0200 Subject: [PATCH] allow VV verbs to control the aspect of the governed verb --- src/bulgarian/CatBul.gf | 2 +- src/bulgarian/DocumentationBul.gf | 5 +++-- src/bulgarian/MorphoFunsBul.gf | 5 ++++- src/bulgarian/ResBul.gf | 2 +- src/bulgarian/VerbBul.gf | 4 ++-- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/bulgarian/CatBul.gf b/src/bulgarian/CatBul.gf index 356260f2b..14b2c538d 100644 --- a/src/bulgarian/CatBul.gf +++ b/src/bulgarian/CatBul.gf @@ -99,7 +99,7 @@ concrete CatBul of Cat = CommonX - [IAdv,CAdv,AdV,SC] ** open ResBul, Prelude, P V2 = \s -> {s = \\_,_ => s; vtype = VNormal; c2 = {s=""; c=Acc}}; V2A, V2V, V2S, V2Q = \s -> {s = \\_,_ => s; vtype = VNormal; c2,c3 = {s=""; c=Acc}}; V3 = \s -> {s = \\_,_ => s; vtype = VNormal; c2,c3 = {s=""; c=Acc}}; - VV = \s -> {s = \\_,_ => s; vtype = VNormal; typ = VVInf}; + VV = \s -> {s = \\_,_ => s; vtype = VNormal; typ = VVInf Perf}; A = \s -> {s = \\_ => s; adv = s}; A2 = \s -> {s = \\_ => s; adv = s; c2 = ""}; diff --git a/src/bulgarian/DocumentationBul.gf b/src/bulgarian/DocumentationBul.gf index 26787dbae..c67c72b96 100644 --- a/src/bulgarian/DocumentationBul.gf +++ b/src/bulgarian/DocumentationBul.gf @@ -237,8 +237,9 @@ lin } ++ v.s ! Imperf ! VPres Sg P3 ++ case v.typ of { - VVInf => "да" ++ pp "глагол"; - VVGerund => pp "деепричастие" + VVInf Perf => "да" ++ pp "свършен глагол"; + VVInf Imperf => "да" ++ pp "несвършен глагол"; + VVGerund => pp "деепричастие" }; s2= inflVerb v ; s3= "" diff --git a/src/bulgarian/MorphoFunsBul.gf b/src/bulgarian/MorphoFunsBul.gf index 9691c081e..d1ce182e8 100644 --- a/src/bulgarian/MorphoFunsBul.gf +++ b/src/bulgarian/MorphoFunsBul.gf @@ -144,7 +144,10 @@ oper mkVS v = v ** {lock_VS = <>} ; mkVV : V -> VV ; - mkVV v = v ** {typ = VVInf; lock_VV = <>} ; + mkVV v = v ** {typ = VVInf Perf; lock_VV = <>} ; + + imperfVV : V -> VV ; + imperfVV v = v ** {typ = VVInf Imperf; lock_VV = <>} ; gerundVV : V -> VV ; gerundVV v = v ** {typ = VVGerund; lock_VV = <>} ; diff --git a/src/bulgarian/ResBul.gf b/src/bulgarian/ResBul.gf index 08d2cd649..bd0b68bd8 100644 --- a/src/bulgarian/ResBul.gf +++ b/src/bulgarian/ResBul.gf @@ -73,7 +73,7 @@ resource ResBul = ParamX ** open Prelude, Predef in { | VPhrasal Case ; - VVType = VVInf | VVGerund ; + VVType = VVInf Aspect | VVGerund ; -- The order of sentence is needed already in $VP$. diff --git a/src/bulgarian/VerbBul.gf b/src/bulgarian/VerbBul.gf index 77dff9c1d..af60db6aa 100644 --- a/src/bulgarian/VerbBul.gf +++ b/src/bulgarian/VerbBul.gf @@ -18,8 +18,8 @@ concrete VerbBul of Verb = CatBul ** open Prelude, ResBul, ParadigmsBul in { ComplVV vv vp = insertObj (case vv.typ of { - VVInf => daComplex Simul Pos vp ! Perf; - VVGerund => gerund vp ! Imperf + VVInf asp => daComplex Simul Pos vp ! asp; + VVGerund => gerund vp ! Imperf }) vp.p (predV vv) ;