fromKif.hs revision 5a06d13dafa3f6c8470951a4c7cb05891ed12328
57221209d11b05aa0373cc3892d5df89ba96ebf9Christian Maeder{- |
57221209d11b05aa0373cc3892d5df89ba96ebf9Christian MaederModule : $Header$
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederCopyright : (c) C.Maeder, Uni Bremen 2006
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederLicense : similar to LGPL, see HetCATS/LICENSE.txt or LIZENZ.txt
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski
1549f3abf73c1122acff724f718b615c82fa3648Till MossakowskiMaintainer : maeder@tzi.de
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu ProdescuStability : experimental
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian MaederPortability : portable
3f69b6948966979163bdfe8331c38833d5d90ecdChristian Maeder
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maederconvert .kif to .casl
351145cfe8c03b4d47133c96b209f2bd6cfbf504Christian Maeder-}
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maedermodule Main where
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski
1549f3abf73c1122acff724f718b615c82fa3648Till Mossakowskiimport CASL.Kif
01aafb6a9520f05df5ff467b591ecb5474dcfc86Christian Maederimport CASL.Kif2CASL
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maederimport CASL.ToDoc()
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maederimport Common.Utils
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maederimport Common.DocUtils
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maederimport Text.ParserCombinators.Parsec
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maederimport System.Environment
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maedermain :: IO ()
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maedermain = getArgs >>= mapM_ process
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maederprocess :: String -> IO ()
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maederprocess s = do
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder e <- parseFromFile kifProg s
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder case e of
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder Left err -> putStrLn $ show err
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder Right l -> do
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder let f = fst (stripSuffix [".kif"] s) ++ ".casl"
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder writeFile f $ showDoc (kif2CASL l) "\n"
351391e0e3226210e7ffb183b334da9f96de36eaChristian Maeder