From 3a67fd9b56c335e2135079dbb4c00639502df209 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 26 Mar 2009 22:40:44 +0000 Subject: [PATCH] adapt Precedence.gf to new syntax; bug fix in Swedish mkA --- next-lib/src/prelude/Precedence.gf | 8 ++++---- next-lib/src/swedish/ParadigmsSwe.gf | 21 +++++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/next-lib/src/prelude/Precedence.gf b/next-lib/src/prelude/Precedence.gf index 1e0b1a77c..ad166e515 100644 --- a/next-lib/src/prelude/Precedence.gf +++ b/next-lib/src/prelude/Precedence.gf @@ -7,8 +7,8 @@ resource Precedence = open Prelude in { param Prec = p4 | p3 | p2 | p1 | p0 ; -lintype -PrecTerm = Prec => Str ; +oper +PrecTerm : Type = Prec => Str ; oper pss : PrecTerm -> {s : PrecTerm} = \s -> {s = s} ; @@ -75,7 +75,7 @@ mkInfixR : Str -> Prec -> PrecTerm -> PrecTerm -> PrecTerm = -- alternative: -- precedence as inherent feature -lintype TermWithPrec = {s : Str ; p : Prec} ; +oper TermWithPrec : Type = {s : Str ; p : Prec} ; oper mkpPrec : Str -> Prec -> TermWithPrec = @@ -114,4 +114,4 @@ mkpInfixL : Str -> Prec -> TermWithPrec -> TermWithPrec -> TermWithPrec = mkpInfixR : Str -> Prec -> TermWithPrec -> TermWithPrec -> TermWithPrec = \f -> \p -> \x -> \y -> mkpPrec (usePrec x (nextPrec ! p) ++ f ++ usePrec y p) p ; -} ; \ No newline at end of file +} ; diff --git a/next-lib/src/swedish/ParadigmsSwe.gf b/next-lib/src/swedish/ParadigmsSwe.gf index 36d262c97..f414ef468 100644 --- a/next-lib/src/swedish/ParadigmsSwe.gf +++ b/next-lib/src/swedish/ParadigmsSwe.gf @@ -457,15 +457,20 @@ oper mk7A a b c d e f g = mkAdjective a b c d e f g ** {isComp = False ; lock_A = <>} ; regA fin = - let fint : Str = case fin of { - ru + "nd" => ru + "nt" ; - se + "dd" => se + "tt" ; - pla + "tt" => pla + "tt" ; - gla + "d" => gla + "tt" ; - _ => fin + "t" - } + let + fint : Str = case fin of { + ru + "nd" => ru + "nt" ; + se + "dd" => se + "tt" ; + pla + "tt" => pla + "tt" ; + gla + "d" => gla + "tt" ; + _ => fin + "t" + } ; + fina : Str = case fin of { + unk@(? + ? + ? + _) + "e" + n@("l" | "n" | "r") => unk + n + "a" ; + _ => fin + "a" + } in - mk3A fin fint (fin + "a") ; + mk3A fin fint fina ; irregA ung yngre yngst = mk7A ung (ung + "t") (ung + "a") (ung + "a") yngre yngst (yngst+"a") ;