1
0
forked from GitHub/gf-core

some refactoring, and experiments with Fin which is still too big in pgf

This commit is contained in:
aarne
2014-02-09 09:31:42 +00:00
parent bd51fab5e0
commit 26f6fea5a8
8 changed files with 119 additions and 94 deletions

View File

@@ -1,5 +1,9 @@
instance PredInstanceFin of PredInterface - [NounPhrase,PrVerb] =
open ResFin, (P = ParadigmsFin), (S = StemFin), (X = ParamX), Prelude in {
instance PredInstanceFin of
PredInterface - [
NounPhrase,
PrVerb, initPrVerb
] =
open ResFin, (P = ParadigmsFin), (S = StemFin), (X = ParamX), Prelude in {
-- overrides
@@ -22,7 +26,7 @@ oper
Case = ResFin.Case ;
NPCase = ResFin.NPForm ;
VForm = S.SVForm ;
VVType = ResFin.InfForm ;
VVType = Unit ; ----ResFin.InfForm ;
VType = Unit ; ----
Gender = Unit ; ----
@@ -34,6 +38,8 @@ oper
active = Act ;
passive = Pass ;
defaultVType = UUnit ;
subjCase : NPCase = ResFin.NPCase Nom ;
objCase : NPCase = NPAcc ;
@@ -69,7 +75,7 @@ oper
vPastPart : PrVerb -> AAgr -> Str = \v,a -> (S.sverb2verbSep v).s ! PastPartPass (AN (NCase Sg Part)) ; ---- case
vPresPart : PrVerb -> AAgr -> Str = \v,a -> (S.sverb2verbSep v).s ! PresPartAct (AN (NCase Sg Part)) ; ---- case
vvInfinitive : VVType = Inf1 ;
vvInfinitive : VVType = UUnit ; ---- vvInfinitive : VVType = Inf1 ;
isRefl : PrVerb -> Bool = \_ -> False ; ----
@@ -117,7 +123,7 @@ oper
tenseInfV : Str -> Anteriority -> Polarity -> SVoice -> PrVerb -> VVType -> Str =
\sa,a,pol,o,v,vt ->
let
let vt = Inf1 ; ----
ovps = (S.vp2old_vp (S.predV v)).s ! VIInf vt ! a ! pol ! defaultAgr ; -- VIForm => Anteriority => Polarity => Agr => {fin, inf : Str} ;
in
sa ++ ovps.fin ++ ovps.inf ;
@@ -139,8 +145,15 @@ oper
not_Str : Polarity -> Str = \p -> case p of {Pos => [] ; Neg => "inte"} ;
liftV : S.SVerb1 -> PrVerb = \v ->
v ** {c1,c2 = noComplCase ; isSubjectControl = False ; vtype = UUnit ; vvtype = vvInfinitive} ;
liftV : S.SVerb1 -> PrVerb = \v -> initPrVerb ** v ;
initPrVerb : PrVerb = {
s = \\_ => [] ;
sc = subjCase ;
h = Back ;
p = [] ;
c1,c2 = noComplCase ; isSubjectControl = True ; vtype = defaultVType ; vvtype = vvInfinitive
} ;
--- junk