hetana.hs revision 43b4c41fbb07705c9df321221ab9cb9832460407
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maedermodule Main
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian Maeder
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederwhere
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maederimport System.Environment
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederimport Comorphisms.LogicGraph
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederimport Static.AnalysisLibrary
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederimport System.IO
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maederimport Static.DotGraph
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maederimport Static.DevGraph
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maederimport Driver.Options
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maederproceed :: String -> IO()
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maederproceed fname = do
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder res <- anaFile logicGraph defaultLogic defaultHetcatsOpts emptyLibEnv fname
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder case res of
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Just(_,_,dg,_) -> do
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder putStrLn ("Successfully analyzed.")
a1ed34933c266ce85066acb0d7b20c90cb8eb213Christian Maeder putStrLn ("Writing development graph to "++fname++".dot")
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder h <- openFile (fname++".dot") WriteMode
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich sequence (map (hPutStrLn h) (dot dg))
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder hClose h
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder _ -> return ()
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder
4cb215739e9ab13447fa21162482ebe485b47455Christian Maedermain :: IO()
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maedermain = do
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich files <- getArgs
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder sequence (map proceed files)
74eed04be26f549d2f7ca35c370e1c03879b28b1Christian Maeder return ()
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder