diff --git a/examples/numerals/irula.gf b/examples/numerals/irula.gf index 22b299193..9d060519a 100644 --- a/examples/numerals/irula.gf +++ b/examples/numerals/irula.gf @@ -11,7 +11,8 @@ oper oper uru : Str = "u:" + pre {"r_u" ; "tti" / cons ; "tt"/ vowel} ; laks : Str = "lacca" + T ; ayira : Str = "a:yira" + T ; - cavira : Str = variants {ayira ; "ca:vira" + T} ; +---- cavira : Str = variants {ayira ; "ca:vira" + T} ; ----BUG in Compute (AR 9/5/2005) + cavira : Str = variants {"a:yira" + T ; "ca:vira" + T} ; T : Str = pre {[] ; "tt" / vowel ; "tti" / cons} ; U : Str = pre {"u" ; [] / vowel } ;-- ; "ï" / cons} ; @@ -49,7 +50,9 @@ lin n9 = {s = table {unit => "ombadu" ; teen => "pattombad"+U ; oper ss : Str -> LinS100 = \s1 -> {s = table {p => s1 ; lak => bind s1 cavira }} ; lin pot01 = - {s = table {unit => pre {[] ; "önr_u" / strs {[]}} ; + {s = table {unit => "önr_u" ; ---- pre {[] ; "önr_u" / strs {[]}} ; + ---- equivalent by the sem. of pre. AR + thou => cavira ; thou2 => "or" + ayira ; hund => "n" + uru ; diff --git a/examples/numerals/kodagu.gf b/examples/numerals/kodagu.gf index 33d80ae35..48703d0fd 100644 --- a/examples/numerals/kodagu.gf +++ b/examples/numerals/kodagu.gf @@ -47,7 +47,8 @@ lin n9 = mkN "oymbad oper ss : Str -> LinS100 = \s1 -> {s = table {p => s1 ; lak => bind s1 ayra }} ; lin pot01 = - {s = table {unit => pre {[] ; "ondï" / strs {[]}} ; + {s = table {unit => "ondï" ; ---- pre {[] ; "ondï" / strs {[]}} ; + ---- equivalent by the sem. of pre. AR thou => variants {ayra ; "o:r" + ayra} ; hund => "n" + uri ; _ => "dummy"} }; diff --git a/examples/numerals/korean.gf b/examples/numerals/korean.gf index b73e9978b..f00b89695 100644 --- a/examples/numerals/korean.gf +++ b/examples/numerals/korean.gf @@ -15,8 +15,6 @@ lincat Sub10 = LinDigit ; lincat Sub100 = {s : Str ; s2 : S100 => Str; size : Size} ; lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ; lincat Sub1000000 = {s : Str} ; -lin num x0 = - {s = "/L" ++ x0.s ++ "L/" } ; -- just makes colons into length bar ontop of char oper mkNumq : Str -> Str -> Str -> Str -> LinDigit = \twul -> \yelqtwul -> \sumul -> \i -> @@ -34,7 +32,11 @@ oper mkNum9 : Str -> Str -> Str -> Str -> LinDigit = \twul -> \yelqtwul -> \sumul -> \i -> {s = table {unit => twul ; teen => yelqtwul ; ten => sumul ; tenq => sumul + "q" ; chi => i ; chiten => i ++ "sip"} ; size = nine} ; --- lin n1 = mkNum variants{"hana" ; "han } ; variants {"yelhana" ; "yelhan" } +lin num x0 = + {s = "/L" ++ x0.s ++ "L/" } ; -- just makes colons into length bar ontop of char + +-- lin n1 = mkNum variants{"hana" ; "han"} ; variants {"yelhana" ;"yelhan"} + lin n2 = mkNumq (variants {"twu:l" ; "twu" }) (variants {"yelqtwul" ; "yelqtwu" }) (variants {"sumul" ; "sumu" }) diff --git a/lib/resource/italian/SwadeshLexIta.gf b/lib/resource/italian/SwadeshLexIta.gf index 2bbd6feac..b7eccbe44 100644 --- a/lib/resource/italian/SwadeshLexIta.gf +++ b/lib/resource/italian/SwadeshLexIta.gf @@ -64,7 +64,7 @@ concrete SwadeshLexIta of SwadeshLex = CategoriesIta big_ADeg = big_ADeg ; black_ADeg = black_ADeg ; cold_ADeg = cold_ADeg ; - correct_ADeg = regADeg "correto" ; + correct_ADeg = regADeg "corretto" ; dirty_ADeg = dirty_ADeg ; dry_ADeg = regADeg "secco" ; dull_ADeg = regADeg "noioso" ; diff --git a/src/GF/Grammar/Compute.hs b/src/GF/Grammar/Compute.hs index 3cc3c7dff..0401c2417 100644 --- a/src/GF/Grammar/Compute.hs +++ b/src/GF/Grammar/Compute.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/05/09 09:45:23 $ +-- > CVS $Date: 2005/05/09 15:44:59 $ -- > CVS $Author: aarne $ --- > CVS $Revision: 1.16 $ +-- > CVS $Revision: 1.17 $ -- -- Computation of source terms. Used in compilation and in @cc@ command. ----------------------------------------------------------------------------- @@ -167,14 +167,17 @@ computeTerm gr = comp where (_,Empty) -> return x (Empty,_) -> return y (K a, K b) -> return $ K (a ++ b) - (K a, Alts (d,vs)) -> do ----- (_, Alts (d,vs)) -> do + (_, Alts (d,vs)) -> do +---- (K a, Alts (d,vs)) -> do let glx = Glue x comp g $ Alts (glx d, [(glx v,c) | (v,c) <- vs]) - (Alts _, K a) -> checks [do + (Alts _, ka) -> checks [do + y' <- strsFromTerm ka +---- (Alts _, K a) -> checks [do x' <- strsFromTerm x -- this may fail when compiling opers return $ variants [ - foldr1 C (map K (str2strings (glueStr v (str a)))) | v <- x'] + foldr1 C (map K (str2strings (glueStr v u))) | v <- x', u <- y'] +---- foldr1 C (map K (str2strings (glueStr v (str a)))) | v <- x'] ,return $ Glue x y ] (FV ks,_) -> do diff --git a/src/GF/Grammar/Macros.hs b/src/GF/Grammar/Macros.hs index db05f95a0..89866c6bd 100644 --- a/src/GF/Grammar/Macros.hs +++ b/src/GF/Grammar/Macros.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/04/28 16:42:49 $ +-- > CVS $Date: 2005/05/09 15:45:00 $ -- > CVS $Author: aarne $ --- > CVS $Revision: 1.20 $ +-- > CVS $Revision: 1.21 $ -- -- Macros for constructing and analysing source code terms. -- @@ -565,6 +565,7 @@ markLinFields f t = case t of strsFromTerm :: Term -> Err [Str] strsFromTerm t = case unComputed t of K s -> return [str s] + Empty -> return [str []] C s t -> do s' <- strsFromTerm s t' <- strsFromTerm t