1
0
forked from GitHub/gf-rgl

more lexicon building functions

This commit is contained in:
Krasimir Angelov
2024-11-03 19:06:18 +01:00
parent 37e08ad739
commit 4add2fb2de
2 changed files with 36 additions and 2 deletions

View File

@@ -1,3 +1,12 @@
--# -path=.:../icelandic:../common:../abstract:../prelude --# -path=.:../icelandic:../common:../abstract:../prelude
resource TryIce = SyntaxIce, LexiconIce, ParadigmsIce - [mkAdv,mkAdN,mkOrd] ; resource TryIce = SyntaxIce-[mkVoc], LexiconIce, ParadigmsIce - [mkAdv,mkAdN,mkOrd,mkVoc] **
open (P = ParadigmsIce) in {
oper
mkVoc = overload {
mkVoc : NP -> Voc = SyntaxIce.mkVoc ;
mkVoc : Str -> Voc = P.mkVoc ;
} ;
}

View File

@@ -256,6 +256,10 @@ resource ParadigmsIce = open
} ; } ;
oper mkLN : Str -> LN = \s -> lin LN {s=s} ;
oper mkGN : Str -> GN = \s -> lin GN {s=s} ;
oper mkSN : Str -> SN = \s -> lin SN {s=s} ;
mkN2 : N -> Preposition -> N2 = \n,prep -> lin N2 (n ** {c2 = prep}) ; mkN2 : N -> Preposition -> N2 = \n,prep -> lin N2 (n ** {c2 = prep}) ;
mkN3 : N -> (_,_ : Preposition) -> N3 = \n,c2,c3 -> lin N3 (n ** {c2 = c2; c3 = c3}) ; mkN3 : N -> (_,_ : Preposition) -> N3 = \n,c2,c3 -> lin N3 (n ** {c2 = c2; c3 = c3}) ;
@@ -442,6 +446,8 @@ resource ParadigmsIce = open
sgNeutNom sgNeutAcc sgNeutDat sgNeutGen plMascNom plMascAcc plMascDat plMascGen sgNeutNom sgNeutAcc sgNeutDat sgNeutGen plMascNom plMascAcc plMascDat plMascGen
plFemNom plFemAcc plFemDat plFemGen plNeutNom plNeutAcc plNeutDat plNeutGen plFemNom plFemAcc plFemDat plFemGen plNeutNom plNeutAcc plNeutDat plNeutGen
weakSgMascNom weakSgMascAccDatGen weakSgFemNom weakSgFemAccDatGen weakSgNeut weakPl flogið) ; weakSgMascNom weakSgMascAccDatGen weakSgFemNom weakSgFemAccDatGen weakSgNeut weakPl flogið) ;
mkV : V -> Str -> V = \v,part -> v ;
}; };
depV : V -> V = \verb -> lin V (deponentVerb verb) ; depV : V -> V = \verb -> lin V (deponentVerb verb) ;
@@ -461,6 +467,18 @@ resource ParadigmsIce = open
mk5V : (_,_,_,_,_ : Str) -> V = \telja,tel,taldi,talinn,talið -> mk5V : (_,_,_,_,_ : Str) -> V = \telja,tel,taldi,talinn,talið ->
lin V (vForms2Verb telja (indsub3 telja tel taldi) (impSg taldi) (impPl telja) (presPart telja) talið (weakPP talinn) (strongPP talinn)) ; lin V (vForms2Verb telja (indsub3 telja tel taldi) (impSg taldi) (impPl telja) (presPart telja) talið (weakPP talinn) (strongPP talinn)) ;
oper mkVQ : V -> VQ = \v -> lin VQ v ;
oper mkVV : V -> VV = \v -> lin VV (v ** {c2 = mkPrep "" accusative}) ;
oper mkVS : V -> VS = \v -> lin VS v ;
oper mkVA : V -> VA = \v -> lin VA v ;
oper mkV2V : V -> V2V = \v -> lin V2V (v ** {c2 = mkPrep "" accusative; c3 = mkPrep "" accusative}) ;
oper mkV2S : V -> V2S = \v -> lin V2S (v ** {c2 = mkPrep "" accusative}) ;
oper mkV2A : V -> V2A = \v -> lin V2A (v ** {c2 = mkPrep "" accusative}) ;
oper reflV : V -> V = \v -> v;
indsub1 : Str -> MForms = \inf -> case inf of { indsub1 : Str -> MForms = \inf -> case inf of {
stem@(front + "e" + c) + "ja" => cTelja inf stem (ðiditi (front + "a" + c)) ; stem@(front + "e" + c) + "ja" => cTelja inf stem (ðiditi (front + "a" + c)) ;
stem@(front + "y" + c) + "ja" => cTelja inf stem (ðiditi (front + "u" + c)) ; stem@(front + "y" + c) + "ja" => cTelja inf stem (ðiditi (front + "u" + c)) ;
@@ -807,7 +825,10 @@ resource ParadigmsIce = open
mkAdA : Str -> AdA = \x -> lin AdA (ss x) ; mkAdA : Str -> AdA = \x -> lin AdA (ss x) ;
mkAdN : CAdv -> AdN = \cadv -> lin AdN {s = cadv.s ++ cadv.p } ; mkAdN = overload {
mkAdN : Str -> AdN = \s -> lin AdN {s = s} ;
mkAdN : CAdv -> AdN = \cadv -> lin AdN {s = cadv.s ++ cadv.p }
} ;
mkAdV : Str -> AdV = \x -> lin AdV (ss x) ; mkAdV : Str -> AdV = \x -> lin AdV (ss x) ;
@@ -826,4 +847,8 @@ resource ParadigmsIce = open
mk2Conj : Str -> Str -> Number -> Conj = \x,y,n -> mk2Conj : Str -> Str -> Number -> Conj = \x,y,n ->
lin Conj (sd2 x y ** {n = n}) ; lin Conj (sd2 x y ** {n = n}) ;
mkInterj : Str -> Interj = \s -> lin Interj {s=s} ;
mkVoc : Str -> Voc = \s -> lin Voc {s=s} ;
} ; } ;