diff --git a/src/icelandic/AllIce.gf b/src/icelandic/AllIce.gf index f54d5f253..74daea148 100644 --- a/src/icelandic/AllIce.gf +++ b/src/icelandic/AllIce.gf @@ -2,7 +2,7 @@ concrete AllIce of AllIceAbs = LangIce, - IrregIce + WiktIrregIce -- AR 2019-08-06 -- ExtraIce ** { diff --git a/src/icelandic/DocumentationIceFunctor.gf b/src/icelandic/DocumentationIceFunctor.gf index 27ce74d64..4ed45d38f 100644 --- a/src/icelandic/DocumentationIceFunctor.gf +++ b/src/icelandic/DocumentationIceFunctor.gf @@ -193,7 +193,7 @@ oper tr ( th "2" ++ gforms voice Pl P2) ++ tr ( th "3" ++ gforms voice Pl P3) ++ tr (intagAttr "th" "colspan=2" (heading infinitive_Parameter) ++ intagAttr "td" "colspan=4" (vfin (VInf voice))) ++ - tr (intagAttr "th" "colspan=2" (heading supine_Parameter) ++ intagAttr "td" "colspan=4" (verb.sup ! voice)) + tr (intagAttr "th" "colspan=2" (heading supine_Parameter) ++ intagAttr "td" "colspan=4" (vfin (VSup voice))) ) ; in heading2 (heading active_Parameter) ++ voiceTable Active ++ diff --git a/src/icelandic/MorphoIce.gf b/src/icelandic/MorphoIce.gf index 4efb5dcf9..d233a58c9 100644 --- a/src/icelandic/MorphoIce.gf +++ b/src/icelandic/MorphoIce.gf @@ -915,7 +915,9 @@ resource MorphoIce = ResIce ** open Prelude, (Predef=Predef), ResIce in { VPast v Subjunctive Sg p => persList (mkVoice v (pastSub ! 0)) (mkVoice v (pastSub ! 1)) (mkVoice v (pastSub ! 2)) ! p; VPast v Subjunctive Pl p => persList (mkVoice v (presSub ! 3)) (mkVoice v (pastSub ! 4)) (mkVoice v (pastSub ! 5)) ! p; VImp v Sg => mkVoice v impSg ; - VImp v Pl => mkVoice v impPl + VImp v Pl => mkVoice v impPl ; + VSup v => mkVoice v sup + } ; p = table { PWeak Sg Masc c => caseList (pastPartW ! Masc ! 0) (pastPartW ! Masc ! 1) (pastPartW ! Masc ! 2) (pastPartW ! Masc ! 3) ! c ; @@ -930,7 +932,6 @@ resource MorphoIce = ResIce ** open Prelude, (Predef=Predef), ResIce in { PStrong Pl Neutr c => caseList (pastPartS ! Neutr ! 4) (pastPartS ! Neutr ! 5) (pastPartS ! Neutr ! 6) (pastPartS ! Neutr ! 7) ! c ; PPres => presPart } ; - sup =\\v => mkVoice v sup } ; -- AR 2019-08-02: deponent verbs use the Middle voice everywhere, instead of Active diff --git a/src/icelandic/ResIce.gf b/src/icelandic/ResIce.gf index 5ebe1ef43..2eaed0b8b 100644 --- a/src/icelandic/ResIce.gf +++ b/src/icelandic/ResIce.gf @@ -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 => vf (v.s ! VPres Active Indicative agr.n agr.p) [] (negation pol) False; -- hann hefur []/ekki sofið - he has/hasn't slept - => vf (verbHave.s ! VPres Active Indicative agr.n agr.p) (v.sup ! Active) (negation pol) True ; + => vf (verbHave.s ! VPres Active Indicative agr.n agr.p) (v.s ! VSup Active) (negation pol) True ; -- hann svaf []/ekki - he []/didn't sleep => vf (v.s ! VPast Active Indicative agr.n agr.p) [] (negation pol) False ; -- hann hafði []/ekki sofið - he had/hadn't slept - => vf (verbHave.s ! VPast Active Indicative agr.n agr.p) (v.sup ! Active) (negation pol) True ; + => 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 => 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' - => vf (verbWill.s ! VPres Active Indicative agr.n agr.p) (verbHave.s ! vInf ++ v.sup ! Active) (negation pol) True ; + => 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' => 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' - => vf (verbWill.s ! VPast Active Subjunctive agr.n agr.p) (verbHave.s ! vInf ++ v.sup ! Active) (negation pol) True + => 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 of { => subj ++ finInf ++ verb.a1.p2 ++ ind ++ dir ++ adv ; => subj ++ finInf ++ ind ++ verb.a1.p2 ++ dir ++ adv ; - => subj ++ finInf ++ ind ++ dir ++ verb.a1.p2 ++ adv ; + => subj ++ finInf ++ ind ++ dir ++ verb.a1.p2 ++ adv ; => finSubjInf ++ verb.a1.p2 ++ ind ++ dir ++ adv ; => finSubjInf ++ ind ++ verb.a1.p2 ++ dir ++ adv ; => finSubjInf ++ ind ++ dir ++ verb.a1.p2 ++ adv