From 470f2cc796259b790ec0e5452d732497aa86d18e Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Fri, 18 Sep 2026 09:25:01 +0200 Subject: [PATCH] make the case an argument of mkPrep --- src/albanian/ParadigmsSqi.gf | 22 ++++++------------ src/albanian/StructuralSqi.gf | 42 +++++++++++++++++------------------ 2 files changed, 28 insertions(+), 36 deletions(-) diff --git a/src/albanian/ParadigmsSqi.gf b/src/albanian/ParadigmsSqi.gf index 107f6fdc..35a56cab 100644 --- a/src/albanian/ParadigmsSqi.gf +++ b/src/albanian/ParadigmsSqi.gf @@ -4,6 +4,11 @@ oper singular : Number = Sg ; plural : Number = Pl ; + nominative : Case = Nom ; + accusative : Case = Acc ; + dative : Case = Dat ; + ablative : Case = Ablat ; + oper regN : Str -> N -- s;Indef;Nom;Sg = \form -> case form of { @@ -1435,22 +1440,9 @@ mkCard : Str -> Card = \s -> lin Card {s=s} ; mkACard : Str -> ACard = \s -> lin ACard {s=s} ; mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; -mkPrep : Str -> Prep = \s -> lin Prep { +mkPrep : Str -> Case -> Prep = \s,c -> lin Prep { s=s; - c=case s of { - "nga" => Nom; - "prej" => Ablat; - "gjatë" => Ablat; - "pas" => Ablat; - "para" => Ablat; - "prapa" => Ablat; - "midis" => Ablat; - "mes" => Ablat; - "përveç" => Ablat; - "përtej" => Ablat; - "krahas" => Ablat; - _ => Acc - } + c=c } ; noPrep : Prep = lin Prep {s=""; c=Acc} ; diff --git a/src/albanian/StructuralSqi.gf b/src/albanian/StructuralSqi.gf index fb039ee2..c2403d84 100644 --- a/src/albanian/StructuralSqi.gf +++ b/src/albanian/StructuralSqi.gf @@ -67,27 +67,27 @@ lin or_Conj = mkConj "ose" ; if_then_Conj = mkConj "nëse" ; - above_Prep = mkPrep "mbi" ; - after_Prep = mkPrep "pas" ; - before_Prep = mkPrep "para" ; - behind_Prep = mkPrep "prapa" ; - between_Prep = mkPrep "midis" ; - by8agent_Prep = mkPrep "nga" ; - by8means_Prep = mkPrep "me" ; - during_Prep = mkPrep "gjatë" ; - except_Prep = mkPrep "përveç" ; - for_Prep = mkPrep "për" ; - from_Prep = mkPrep "nga" ; - in8front_Prep = mkPrep "përpara" ; - in_Prep = mkPrep "në" ; - on_Prep = mkPrep "mbi" ; - part_Prep = mkPrep "nga" ; - possess_Prep = mkPrep "i" ; - through_Prep = mkPrep "përmes" ; - to_Prep = mkPrep "te" ; - under_Prep = mkPrep "nën" ; - with_Prep = mkPrep "me" ; - without_Prep = mkPrep "pa" ; + above_Prep = mkPrep "mbi" accusative ; + after_Prep = mkPrep "pas" ablative ; + before_Prep = mkPrep "para" ablative ; + behind_Prep = mkPrep "prapa" ablative ; + between_Prep = mkPrep "midis" ablative ; + by8agent_Prep = mkPrep "nga" nominative ; + by8means_Prep = mkPrep "me" accusative ; + during_Prep = mkPrep "gjatë" ablative ; + except_Prep = mkPrep "përveç" ablative ; + for_Prep = mkPrep "për" accusative ; + from_Prep = mkPrep "nga" nominative ; + in8front_Prep = mkPrep "përpara" accusative ; + in_Prep = mkPrep "në" accusative ; + on_Prep = mkPrep "mbi" accusative ; + part_Prep = mkPrep "nga" nominative ; + possess_Prep = mkPrep "i" accusative ; + through_Prep = mkPrep "përmes" accusative ; + to_Prep = mkPrep "te" accusative ; + under_Prep = mkPrep "nën" accusative ; + with_Prep = mkPrep "me" accusative ; + without_Prep = mkPrep "pa" accusative ; although_Subj = mkSubj "megjithëse" ; because_Subj = mkSubj "sepse" ;