From c431ff315e3362b359753aef97c9b56c32395850 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 23 Jun 2005 16:00:55 +0000 Subject: [PATCH] Finnish suffixes --- lib/resource/finnish/BasicFin.gf | 2 +- lib/resource/finnish/LangFin.gf | 3 +++ lib/resource/finnish/MorphoFin.gf | 2 +- lib/resource/finnish/SyntaxFin.gf | 5 +++-- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/resource/finnish/BasicFin.gf b/lib/resource/finnish/BasicFin.gf index 07fba83f7..114b9974d 100644 --- a/lib/resource/finnish/BasicFin.gf +++ b/lib/resource/finnish/BasicFin.gf @@ -170,8 +170,8 @@ lin shop_N = regN "shop" ; short_ADeg = regADeg "short" ; silver_N = regN "silver" ; - sister_N = regN "sister" ; -} + sister_N = regN "sisko" ; sleep_V = regV "uinua" ; {- small_ADeg = regADeg "small" ; diff --git a/lib/resource/finnish/LangFin.gf b/lib/resource/finnish/LangFin.gf index 195d95cce..3c6d9433f 100644 --- a/lib/resource/finnish/LangFin.gf +++ b/lib/resource/finnish/LangFin.gf @@ -9,6 +9,9 @@ concrete LangFin of Lang = ---- CountryEng ** open Prelude, ParadigmsFin in { + +flags unlexer=finnish ; + {- lin AdvDate d = prefixSS "on" d ; diff --git a/lib/resource/finnish/MorphoFin.gf b/lib/resource/finnish/MorphoFin.gf index 94647fe79..77a28539a 100644 --- a/lib/resource/finnish/MorphoFin.gf +++ b/lib/resource/finnish/MorphoFin.gf @@ -628,7 +628,7 @@ getHarmony : Str -> Str = \u -> case u of { -- as a separate word ("auto &+ ni"), which needs unlexing. Unlexing also -- has to fix the vowel harmony in cases like "äiti &+ nsä". - suff : Str -> Str = \ni -> BIND ++ ni ; + suff : Str -> Str = \ni -> ni ; possSuffix : Number => Person => Str = \\n,p => suff (case of { diff --git a/lib/resource/finnish/SyntaxFin.gf b/lib/resource/finnish/SyntaxFin.gf index ae9343c09..7a6254f1c 100644 --- a/lib/resource/finnish/SyntaxFin.gf +++ b/lib/resource/finnish/SyntaxFin.gf @@ -13,7 +13,8 @@ resource SyntaxFin = MorphoFin ** open Prelude, (CO = Coordination) in { -- To glue a particle to the preceding word. The lexer and unlexer -- are expected to deal with actual gluing and vowel harmony. - glueParticle : Str -> Str -> Str = \word,part -> word ++ "&*" ++ part ; + oper + glueParticle : Str -> Str -> Str = \word,part -> word ++ "&*" ++ part ; --2 Common Nouns -- @@ -262,7 +263,7 @@ oper ifPossSuffix : CommNounPhrase -> NPPerson -> Number -> Case -> Str = \talo,np,n,c -> case np of { NP3 => talo.s ! False ! n ! c ; - NPP p => talo.s ! True ! n ! c ++ possSuffix ! n ! p + NPP p => glueParticle (talo.s ! True ! n ! c) (possSuffix ! n ! p) } ; -- *Bare plural noun phrases*, like "koivut" in "koivut ovat valkoisia",