Files
gf-core/examples/tutorial/embedded/Translator.hs
2007-09-05 14:05:42 +00:00

17 lines
417 B
Haskell

module Main where
import GF.Embed.EmbedAPI
import System (getArgs)
main :: IO ()
main = do
file:_ <- getArgs
gr <- file2grammar file
interact (translate gr)
translate :: MultiGrammar -> String -> String
translate gr = unlines . map transLine . lines where
transLine s =
let (lang,tree:_):_ = parseAllLang gr (startCat gr) s
in unlines [linearize gr lg tree | lg <- languages gr, lg /= lang]