the supine forms restored in Ice.VForm (disappeared by mistake in a git reset)

This commit is contained in:
Aarne Ranta
2019-08-06 17:27:09 +02:00
parent 7bdc01f45a
commit 6a7b220c55
4 changed files with 14 additions and 13 deletions
+9 -9
View File
@@ -45,6 +45,7 @@ resource ResIce = ParamX ** open Prelude in {
| VPres Voice Mood Number Person
| VPast Voice Mood Number Person
| VImp Voice Number
| VSup Voice
;
oper vInf = VInf Active ; -- AR 2019-08-02
@@ -129,7 +130,6 @@ param
Verb : Type = {
s : VForm => Str ;
p : PForm => Str ;
sup : Voice => Str
} ;
mkVoice : Voice -> Str -> Str = \v,s ->
@@ -179,7 +179,8 @@ param
VPast v Subjunctive Pl P2 => mkVoice v flygjuð ;
VPast v Subjunctive Pl P3 => mkVoice v flygju ;
VImp v Sg => mkVoice v fljúgðu ;
VImp v Pl => mkVoice v fljúgið
VImp v Pl => mkVoice v fljúgið ;
VSup v => mkVoice v flogið
} ;
p = table {
PWeak Sg Masc Nom => weakSgMascNom ;
@@ -196,7 +197,6 @@ param
PStrong Pl Neutr c => caseList plNeutNom plNeutAcc plNeutDat plNeutGen ! c ;
PPres => fljúgandi
} ;
sup =\\v => mkVoice v flogið
} ;
VP : Type = {
@@ -242,7 +242,7 @@ param
} ;
predVV : { s : VForm => Str ; p : PForm => Str ; sup : Voice => Str ; c2 : Preposition } -> VP = \vv ->
predV {s = vv.s ; p = vv.p ; sup = vv.sup} ;
predV {s = vv.s ; p = vv.p} ;
negation : Polarity -> Str = \pol -> case pol of {
@@ -264,19 +264,19 @@ param
-- hann sefur []/ekki - he []/doesn't sleep
<Pres,Simul> => vf (v.s ! VPres Active Indicative agr.n agr.p) [] (negation pol) False;
-- hann hefur []/ekki sofið - he has/hasn't slept
<Pres,Anter> => vf (verbHave.s ! VPres Active Indicative agr.n agr.p) (v.sup ! Active) (negation pol) True ;
<Pres,Anter> => vf (verbHave.s ! VPres Active Indicative agr.n agr.p) (v.s ! VSup Active) (negation pol) True ;
-- hann svaf []/ekki - he []/didn't sleep
<Past,Simul> => vf (v.s ! VPast Active Indicative agr.n agr.p) [] (negation pol) False ;
-- hann hafði []/ekki sofið - he had/hadn't slept
<Past,Anter> => vf (verbHave.s ! VPast Active Indicative agr.n agr.p) (v.sup ! Active) (negation pol) True ;
<Past,Anter> => vf (verbHave.s ! VPast Active Indicative agr.n agr.p) (v.s ! VSup Active) (negation pol) True ;
-- hann mun []/ekki sofa - he will/won't sleep
<Fut,Simul> => vf (verbWill.s ! VPres Active Indicative agr.n agr.p) (v.s ! vInf) (negation pol) True ;
-- hann mun []/ekki hafa sofið - 'he will/won't have slept'
<Fut,Anter> => vf (verbWill.s ! VPres Active Indicative agr.n agr.p) (verbHave.s ! vInf ++ v.sup ! Active) (negation pol) True ;
<Fut,Anter> => vf (verbWill.s ! VPres Active Indicative agr.n agr.p) (verbHave.s ! vInf ++ v.s ! VSup Active) (negation pol) True ;
-- hann myndi []/ekki sofa 'he would/wouldn't sleep'
<Cond,Simul> => vf (verbWill.s ! VPast Active Subjunctive agr.n agr.p) (v.s ! vInf) (negation pol) True ;
-- hann myndi []/ekki hafa sofið 'he would/wouldn't have slept'
<Cond,Anter> => vf (verbWill.s ! VPast Active Subjunctive agr.n agr.p) (verbHave.s ! vInf ++ v.sup ! Active) (negation pol) True
<Cond,Anter> => vf (verbWill.s ! VPast Active Subjunctive agr.n agr.p) (verbHave.s ! vInf ++ v.s ! VSup Active) (negation pol) True
} ;
-- Auxilary verbs --
@@ -342,7 +342,7 @@ param
in case <order,vp.indShift,vp.dirShift> of {
<ODir,False,False> => subj ++ finInf ++ verb.a1.p2 ++ ind ++ dir ++ adv ;
<ODir,True,False> => subj ++ finInf ++ ind ++ verb.a1.p2 ++ dir ++ adv ;
<Odir,_,True> => subj ++ finInf ++ ind ++ dir ++ verb.a1.p2 ++ adv ;
<ODir,_,True> => subj ++ finInf ++ ind ++ dir ++ verb.a1.p2 ++ adv ;
<OQuestion,False,False> => finSubjInf ++ verb.a1.p2 ++ ind ++ dir ++ adv ;
<OQuestion,True,False> => finSubjInf ++ ind ++ verb.a1.p2 ++ dir ++ adv ;
<OQuestion,_,True> => finSubjInf ++ ind ++ dir ++ verb.a1.p2 ++ adv