diff --git a/next-lib/src/Make.hs b/next-lib/src/Make.hs index 63f50afc2..e3af0110e 100644 --- a/next-lib/src/Make.hs +++ b/next-lib/src/Make.hs @@ -198,7 +198,8 @@ unlexer abstr ls = -- | Runs the gf executable in compile mode with the given arguments. run_gfc :: [String] -> IO () run_gfc args = - do let args' = ["-batch","-gf-lib-path=."] ++ filter (not . null) args ++ ["+RTS"] ++ rts_flags ++ ["-RTS"] + do let args' = ["-batch"] ++ filter (not . null) args ++ ["+RTS"] ++ rts_flags ++ ["-RTS"] +--- do let args' = ["-batch","-gf-lib-path=."] ++ filter (not . null) args ++ ["+RTS"] ++ rts_flags ++ ["-RTS"] --- why path? AR putStrLn $ "Running: " ++ default_gf ++ " " ++ unwords (map showArg args') e <- rawSystem default_gf args' case e of diff --git a/next-lib/src/catalan/PhonoCat.gf b/next-lib/src/catalan/PhonoCat.gf index f750aeb01..61420cc45 100644 --- a/next-lib/src/catalan/PhonoCat.gf +++ b/next-lib/src/catalan/PhonoCat.gf @@ -34,8 +34,16 @@ elisEl = pre { "el" ; "l'" / vocal } ; elisLa = pre { "la" ; "l'" / vocalForta } ; elisEm = pre { "em" ; "m'" / vocal } ; elisEt = pre { "et" ; "t'" / vocal } ; + +-- AR after pre syntax change 25/5/2009 elisEs = pre { - pre { "es" ; "s'" / vocal} ; - "se" / strs { "s" } } ; + vocal => "s'" ; + "s" => "se" ; + _ => "es" + } ; + +--elisEs = pre { +-- pre { "es" ; "s'" / vocal} ; +-- "se" / strs { "s" } } ; } diff --git a/next-lib/src/french/MorphoFre.gf b/next-lib/src/french/MorphoFre.gf index 05ecbc925..00dd88536 100644 --- a/next-lib/src/french/MorphoFre.gf +++ b/next-lib/src/french/MorphoFre.gf @@ -182,7 +182,10 @@ oper } ; elisPoss : Str -> Str = \s -> - pre {s + "a" ; s + "on" / voyelle} ; + pre { + voyelle => s + "on" ; + _ => s + "a" + } ; --2 Determiners diff --git a/next-lib/src/russian/ResRus.gf b/next-lib/src/russian/ResRus.gf index 8f298bca6..477c96cc8 100644 --- a/next-lib/src/russian/ResRus.gf +++ b/next-lib/src/russian/ResRus.gf @@ -375,8 +375,8 @@ param Place = attr | indep ; param Size = nom | sgg | plg ; --param Gend = masc | fem | neut ; oper mille : Size => Str = table { - {nom} => "тысяча" ; - {sgg} => "тысячи" ; + nom => "тысяча" ; + sgg => "тысячи" ; _ => "тысяч"} ; oper gg : Str -> Gender => Str = \s -> table {_ => s} ; diff --git a/src/GF/Grammar/Parser.y b/src/GF/Grammar/Parser.y index 1a9723c28..e07ec8684 100644 --- a/src/GF/Grammar/Parser.y +++ b/src/GF/Grammar/Parser.y @@ -483,6 +483,7 @@ Patt2 | '#' Ident '.' Ident { PM $2 $4 } | '_' { PW } | Ident { PV $1 } + | '{' Ident '}' { PC $2 [] } | Ident '.' Ident { PP $1 $3 [] } | Integer { PInt $1 } | Double { PFloat $1 }