mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 17:08:54 -06:00
Merge branch 'master' of github.com:GrammaticalFramework/gf-rgl
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
resource Kotus = open MorphoFin, Prelude in {
|
resource Kotus = open MorphoFin, Prelude, Predef in {
|
||||||
flags coding=utf8 ;
|
flags coding=utf8 ;
|
||||||
|
|
||||||
-- interpretations of paradigms in KOTUS word list, used in DictFin.
|
-- interpretations of paradigms in KOTUS word list, used in DictFin.
|
||||||
@@ -100,9 +100,21 @@ oper
|
|||||||
d24 : Str -> NForms -- 20 uni
|
d24 : Str -> NForms -- 20 uni
|
||||||
= \s -> dArpi s (init s + "en") ;
|
= \s -> dArpi s (init s + "en") ;
|
||||||
d25 : Str -> NForms -- 9 tuomi
|
d25 : Str -> NForms -- 9 tuomi
|
||||||
= \s -> dArpi s (init s + "en") ;
|
-- Class 25 is a bit heterogeneous, lumi~lunta,liemi~lientä vs. luomi~luomea (?luonta).
|
||||||
|
-- To force e.g. toimi~tointa, use the 4-argument smart paradigm. /IL 2023
|
||||||
|
-- TODO: how about forcing pl genitive also with nt?
|
||||||
|
= \s ->
|
||||||
|
let defaultNForms : NForms = dArpi s (init s + "en") ;
|
||||||
|
in case s of {
|
||||||
|
"lumi" => exceptSgPart defaultNForms "lunta" ;
|
||||||
|
"liemi" => exceptSgPart defaultNForms "lientä" ;
|
||||||
|
_ => defaultNForms } ;
|
||||||
d26 : Str -> NForms -- 113 ääri
|
d26 : Str -> NForms -- 113 ääri
|
||||||
= \s -> dArpi s (init s + "en") ;
|
-- kielten,puolten,vuorten; default mkN gives kielien,puolien,vuorien
|
||||||
|
= \s ->
|
||||||
|
let defaultNForms : NForms = dArpi s (init s + "en") ;
|
||||||
|
puolten : Str = init s + "ten" ;
|
||||||
|
in exceptPlGen defaultNForms puolten ;
|
||||||
d27 : Str -> NForms -- 23 vuosi
|
d27 : Str -> NForms -- 23 vuosi
|
||||||
= \s -> dArpi s (Predef.tk 2 s + "den") ;
|
= \s -> dArpi s (Predef.tk 2 s + "den") ;
|
||||||
d28 : Str -> NForms -- 13 virsi
|
d28 : Str -> NForms -- 13 virsi
|
||||||
@@ -132,7 +144,13 @@ oper
|
|||||||
d33 : Str -> NForms -- 168 väistin
|
d33 : Str -> NForms -- 168 väistin
|
||||||
= \s -> dLiitin s (init s + "men") ;
|
= \s -> dLiitin s (init s + "men") ;
|
||||||
d33A : Str -> NForms -- 181 yllytin
|
d33A : Str -> NForms -- 181 yllytin
|
||||||
= \s -> dLiitin s (strongGrade (init s) + "men") ;
|
= \s -> let
|
||||||
|
pyyhkimen : Str = case s of { -- strongGrade doesn't work for all
|
||||||
|
x + "hin" => x + "hkimen" ; -- pyyhin~pyyhkimen
|
||||||
|
x + "jin" => x + "kimen" ; -- suljin~sulkimen
|
||||||
|
_ => strongGrade (init s) + "men"
|
||||||
|
} ;
|
||||||
|
in dLiitin s pyyhkimen ;
|
||||||
d34 : Str -> NForms -- 1 alaston
|
d34 : Str -> NForms -- 1 alaston
|
||||||
= \s -> let alastom = init s in
|
= \s -> let alastom = init s in
|
||||||
nForms10
|
nForms10
|
||||||
@@ -323,4 +341,16 @@ oper
|
|||||||
fcompoundNK : (Str -> NForms) -> Str -> Str -> NForms = \d,x,y ->
|
fcompoundNK : (Str -> NForms) -> Str -> Str -> NForms = \d,x,y ->
|
||||||
let ys = d y in \\v => x + ys ! v ;
|
let ys = d y in \\v => x + ys ! v ;
|
||||||
|
|
||||||
|
-- 25, 26 etc. should override the default dArpi on singular partitive and plural genitive
|
||||||
|
-- lunta, *lumea, puolten, *puolien
|
||||||
|
exceptSgPart : NForms -> Str -> NForms = \defaultNForms,lunta ->
|
||||||
|
table {
|
||||||
|
2 => lunta ;
|
||||||
|
m => defaultNForms ! m } ;
|
||||||
|
|
||||||
|
exceptPlGen : NForms -> Str -> NForms = \defaultNForms,puolten ->
|
||||||
|
table {
|
||||||
|
5 => puolten ;
|
||||||
|
m => defaultNForms ! m } ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -155,8 +155,8 @@ resource MorphoFin = ResFin ** open Prelude in {
|
|||||||
silakk = init silakka ;
|
silakk = init silakka ;
|
||||||
silaka = init silakan ;
|
silaka = init silakan ;
|
||||||
silak = init silaka ;
|
silak = init silaka ;
|
||||||
silakkaa = silakka + case o of {
|
silakkaa = silakka + case silakka of {
|
||||||
"o" | "ö" => "t" + a ; -- radiota
|
_ + #vowel + ("o" | "ö") => "t" + a ; -- radiota
|
||||||
_ => a -- sammakkoa
|
_ => a -- sammakkoa
|
||||||
} ;
|
} ;
|
||||||
silakoiden = case <silakoita : Str> of {
|
silakoiden = case <silakoita : Str> of {
|
||||||
@@ -859,6 +859,8 @@ resource MorphoFin = ResFin ** open Prelude in {
|
|||||||
-- Auxiliaries
|
-- Auxiliaries
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
|
vowel : pattern Str = #("a"|"e"|"i"|"o"|"u"|"y"|"ä"|"ö") ;
|
||||||
|
|
||||||
-- The following function defines how grade alternation works if it is active.
|
-- The following function defines how grade alternation works if it is active.
|
||||||
-- In general, *whether there is* grade alternation must be given in the lexicon
|
-- In general, *whether there is* grade alternation must be given in the lexicon
|
||||||
-- (cf. "auto - auton" not "audon"; "vihje - vihjeen" not "vihkeen").
|
-- (cf. "auto - auton" not "audon"; "vihje - vihjeen" not "vihkeen").
|
||||||
|
|||||||
Reference in New Issue
Block a user