Files
gf-rgl/src/somali/StructuralSom.gf
2019-06-03 16:31:55 +02:00

204 lines
4.8 KiB
Plaintext

concrete StructuralSom of Structural = CatSom **
open Prelude, ResSom, (N=NounSom), ParadigmsSom in {
-------
-- Ad*
{-
lin almost_AdA = mkAdA "" ;
lin almost_AdN = ss "" ;
lin at_least_AdN = ss "" ;
lin at_most_AdN = ss "" ;
lin so_AdA = ss "" ;
lin too_AdA = ss "" ;
lin very_AdA = mkAdA "" ;
lin as_CAdv = { s = "" ; p = [] } ;
lin less_CAdv = { s = "" ; p = [] } ;
lin more_CAdv = { s = "" ; p = [] } ;
lin how_IAdv = ss "" ;
lin how8much_IAdv = ss "" ;
lin when_IAdv = ss "" ;
lin where_IAdv = ss "" ;
lin why_IAdv = ss "" ;
lin always_AdV = ss "" ;
lin everywhere_Adv = ss "" ;
lin here7from_Adv = ss "" ;
lin here7to_Adv = ss "" ;
lin here_Adv = ss "" ;
lin quite_Adv = ss "" ;
lin somewhere_Adv = ss "" ;
lin there7from_Adv = ss "" ;
lin there7to_Adv = ss "" ;
lin there_Adv = ss "" ;
-}
-------
-- Conj
lin and_Conj = {s1 = "oo" ; s2 = [] ; n = Pl} ;
lin or_Conj = {s1 = "ama" ; s2 = [] ; n = Sg} ; -- mise with interrogatives
-- lin if_then_Conj = mkConj
-- lin both7and_DConj = mkConj "" "" pl ;
-- lin either7or_DConj = mkConj "" "" pl ;
--
-- lin but_PConj = ss "" ;
-- lin otherwise_PConj = ss "" ;
-- lin therefore_PConj = ss "" ;
-----------------
-- *Det and Quant
{-
lin how8many_IDet = R.indefDet "" pl ;
--TODO: fix predets in NounSom, figure out whether Predet should inflect
lin all_Predet = { s = "" } ;
lin not_Predet = { s = "" } ;
lin only_Predet = { s = "" } ;
lin most_Predet = { s = "" } ;
lin every_Det = R.defDet [] pl **
{ s = mkVow } ;
lin few_Det = R.indefDet "" pl ;
lin many_Det = R.indefDet "" pl ;
lin much_Det = R.indefDet "" sg ;
lin somePl_Det = R.indefDet "" pl ;
lin someSg_Det = R.indefDet "" sg ;
lin no_Quant = mkPrep no_Quant
-}
lin that_Quant = defQuant "aas" "kaas" "taas" "kuwaas" vA ;
lin this_Quant = defQuant "an" "kan" "tan" "kuwan" vA ;
--lin which_IQuant = defQuant
{-
-----
-- NP
lin everybody_NP = defNP "" N.NumPl ;
lin everything_NP = defNP "" N.NumSg ;
lin nobody_NP = mkVerb; ""
lin nothing_NP = defNP "" N.NumSg ;
lin somebody_NP = defNP "" N.NumSg ;
lin something_NP = defNP "" N.NumSg ;
oper
defNP : Str -> Num -> NP = {} ;
-}
-------
-- Prep
-- lin above_Prep = mkPrep "" ;
-- lin after_Prep = mkPrep "" ;
-- lin before_Prep = mkPrep "" ;
-- lin behind_Prep = mkPrep "" ;
-- lin between_Prep = mkPrep "" ;
-- lin by8agent_Prep = mkPrep ;
-- lin by8means_Prep = mkPrep ;
-- lin during_Prep = mkPrep ;
-- lin except_Prep = mkPrep ;
-- lin for_Prep = mkPrep ;
-- lin from_Prep = mkPrep "" ;
-- lin in8front_Prep = mkPrep "" ;
lin in_Prep = prepTable ! ku ;
lin on_Prep = prepTable ! ku ;
-- lin part_Prep = mkPrep ;
-- lin possess_Prep = mkPrep ;
-- lin through_Prep = mkPrep ;
-- lin to_Prep = mkPrep ;
-- lin under_Prep = mkPrep "" ;
lin with_Prep = prepTable ! la ;
-- lin without_Prep = mkPrep ;
-------
-- Pron
-- Pronouns are closed class, no constructor in ParadigmsSom.
i_Pron = {
s = table {Nom => "aan" ; Voc => "aniga" ; _Abs => "i"} ;
a = Sg1 ; isPron = True ;
poss = {s = "ay" ; v = vA ; sp = gnTable "ayg" "ayd" "uwayg"}
} ;
youPol_Pron, -- TODO check
youSg_Pron = {
s = table {Nom => "aad" ; Voc => "adiga" ; _Abs => "ku"} ;
a = Sg2 ; isPron = True ;
poss = {s = "aa" ; v = vA ; sp = gnTable "aag" "aad" "uwaag"}
} ;
he_Pron = {
s = table {Nom => "uu" ; Voc => "isaga" ; _Abs => []} ;
a = Sg3 Masc ; isPron = True ;
poss = {s = "iis" ; v = vI ; sp = gnTable "iis" "iis" "uwiis"}
} ;
she_Pron = {
s = table {Nom => "ay" ; Voc => "iyada" ; _Abs => []} ;
a = Sg3 Fem ; isPron = True ;
poss = {s = "eed" ; v = vE ; sp = gnTable "eed" "eed" "uweed"}
} ;
we_Pron = {
s = table {Nom => "aan" ; Voc => "innaga" ; _Abs => "na"} ;
a = Pl1 Incl ; isPron = True ;
poss = {s = "een" ; v = vE ; sp = gnTable "eenn" "eenn" "uweenn"}
} ;
youPl_Pron = {
s = table {Nom => "aad" ; Voc => "idinka" ; _Abs => "idin"} ;
a = Pl2 ; isPron = True ;
poss = {s = "iin" ; v = vI ; sp = gnTable "iinn" "iinn" "uwiinn"}
} ;
they_Pron = {
s = table {Nom => "ay" ; Voc => "iyaga" ; _Abs => []} ;
a = Pl3 ; isPron = True ;
poss = {s = "ood" ; v = vO ; sp = gnTable "ood" "ood" "uwood"}
} ;
{-
lin whatPl_IP = ;
lin whatSg_IP = ;
lin whoPl_IP = ;
lin whoSg_IP = ;
-------
-- Subj
lin although_Subj = mkSubj "" False ;
lin because_Subj = mkSubj "" False ;
lin if_Subj = mkSubj "" True ;
lin that_Subj = mkSubj "" False ;
lin when_Subj = mkSubj "" False ;
-}
------
-- Utt
lin language_title_Utt = ss "af soomaali" ;
lin no_Utt = ss "ma" ;
lin yes_Utt = ss "yes" ;
-------
-- Verb
lin have_V2 = mkV2 have_V noPrep ;
{-
lin can8know_VV = mkV "" ; -- can (capacity)
lin can_VV = mkV "" ; -- can (possibility)
lin must_VV = mkV "" ;
lin want_VV = mkV "" ;
------
-- Voc
lin please_Voc = ss "" ;
-}
}