From 055c0d0d5a5bb0dc75904fe53df7f2e4f5732a8f Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 21 May 2008 09:26:44 +0000 Subject: GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3 --- src-3.0/GF/Translate/GFT.hs | 56 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src-3.0/GF/Translate/GFT.hs (limited to 'src-3.0/GF/Translate') diff --git a/src-3.0/GF/Translate/GFT.hs b/src-3.0/GF/Translate/GFT.hs new file mode 100644 index 000000000..e4a9d8193 --- /dev/null +++ b/src-3.0/GF/Translate/GFT.hs @@ -0,0 +1,56 @@ +---------------------------------------------------------------------- +-- | +-- Maintainer : AR +-- Stability : (stable) +-- Portability : (portable) +-- +-- > CVS $Date: 2005/04/21 16:23:43 $ +-- > CVS $Author: bringert $ +-- > CVS $Revision: 1.7 $ +-- +-- (Description of the module) +----------------------------------------------------------------------------- + +module GF.Translate.GFT (main) where + +import GF.Compile.ShellState +import GF.Canon.GetGFC +import GF.API + +import GF.Text.Unicode +import GF.Text.UTF8 +import GF.Infra.UseIO +import GF.Infra.Option +import GF.Infra.Modules (emptyMGrammar) ---- +import GF.Data.Operations + +import System +import Data.List + + +main :: IO () +main = do + file:_ <- getArgs + let opts = noOptions + can <- useIOE (error "no grammar file") $ getCanonGrammar file + st <- err error return $ + grammar2shellState opts (can, emptyMGrammar) + let grs = allStateGrammars st + let cat = firstCatOpts opts (firstStateGrammar st) + +---- interact (doTranslate grs cat) + s <- getLine + putStrLnFlush $ doTranslate grs cat $ drop 2 s -- to remove "n=" + +doTranslate grs cat s = + let ss = [l +++ ":" +++ s | (l,s) <- zip (map (prIdent . cncId) grs) + (translateBetweenAll grs cat s)] + in mkHTML ss + +mkHTML = unlines . htmlDoc . intersperse "

" . map (encodeUTF8 . mkUnicode) . sort + +htmlDoc ss = "":metaHead:"": ss ++ ["",""] + +metaHead = + "" + -- cgit v1.2.3