added ParadigmsFin.foreignN and ParadigmsSwe.geoPN

This commit is contained in:
aarneranta
2021-06-04 16:28:19 +02:00
parent 4f70384664
commit ace36f7129
2 changed files with 15 additions and 1 deletions

View File

@@ -44,6 +44,7 @@ oper
utrum : Gender ; -- the "en" gender
neutrum : Gender ; -- the "ett" gender
neuter : Gender ; -- synonym of neutrum
-- To abstract over number names, we define the following.
@@ -151,6 +152,7 @@ oper
mkPN : (jesus,jesu : Str) -> Gender -> PN -- irregular genitive
} ;
geoPN : Str -> PN ; -- neuter, with identical genitive if ends in a vowel
--2 Adjectives
@@ -348,6 +350,7 @@ oper
Case = CommonScand.Case ;
utrum = Utr ;
neutrum = Neutr ;
neuter = Neutr ;
singular = Sg ;
plural = Pl ;
nominative = Nom ;
@@ -525,6 +528,14 @@ oper
{s = table {Nom => jesus ; Gen => jesu} ; g = g ; lock_PN = <>} ;
} ;
geoPN name =
let names : Str = case name of {
_ + ("a"|"e"|"i"|"o"|"u"|"y"|"å"|"ä"|"ö") => name ;
_ + "s" => name ;
_ => name + "s"
} in
mkPN name names neutrum ;
regPN n = regGenPN n utrum ;
regGenPN n g = {s = \\c => mkCase c n ; g = g} ** {lock_PN = <>} ;
nounPN n = {s = n.s ! singular ! Indef ; g = n.g ; lock_PN = <>} ;