mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
added ParadigmsFin.foreignN and ParadigmsSwe.geoPN
This commit is contained in:
@@ -159,6 +159,8 @@ oper
|
||||
s = \\c => (StemFin.snoun2nounBind veri).s ! NCase n Gen + paine.s ! c
|
||||
} ;
|
||||
|
||||
foreignN : Str -> N ; -- foreign word without Finnish alternations, e.g. sake/saken/sakeja
|
||||
|
||||
-- Nouns used as functions need a case, of which the default is
|
||||
-- the genitive.
|
||||
|
||||
@@ -667,7 +669,8 @@ mkVS = overload {
|
||||
|
||||
mkPN_1 : Str -> PN = \s -> lin PN (snoun2spn (mk1N s)) ;
|
||||
|
||||
foreignPN : Str -> PN = \s -> (lin PN (snoun2spn (nforms2snoun (noun s)))) where {
|
||||
foreignPN : Str -> PN = \s -> mkPN (foreignN s) ;
|
||||
foreignN : Str -> N = \s -> (lin N (nforms2snoun (noun s))) where {
|
||||
noun : Str -> NForms = \s -> case s of {
|
||||
_ + "i" => dPaatti s (s + "n") ;
|
||||
_ + "e" => dNukke s (s + "n") ;
|
||||
|
||||
@@ -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 = <>} ;
|
||||
|
||||
Reference in New Issue
Block a user