hetdg.hs revision e379124f467e5d0ef7d3c0ca238bff0521f70831
4524a7b9cc36e34a24149056938fb8fa6f7f147aJonathan von Schroeder
0ea2cddb8715a770e646895e16b7b8085f49167cChristian Maeder-- needs ghc and UniForM workbench
e9458b1a7a19a63aa4c179f9ab20f4d50681c168Jens Elkner-- for the UniForM workbench:
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski-- cd into the folder where HetCATS lives
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder-- cvs co uni
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu Prodescu-- configure
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder-- gmake boot
34bff097c14521b5e57ce37279a34256e1f78aa5Klaus Luettich-- gmake packages
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder
306763c67bb99228487345b32ab8c5c6cd41f23cChristian Maeder{- GUI/hetdg.hs
9929f81562adecc8aafaefb14a0159afcf4a3351Christian Maeder $Id$
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski Till Mossakowski
d543cf2bb0c810781625c76fe135476d46270d88Till Mossakowski
1921826503a6c342d31a646e513e6250d8c28128Christian Maeder Temporary interface for displaying development graphs.
9929f81562adecc8aafaefb14a0159afcf4a3351Christian Maeder Should be replaced with hets in the future.
80165d62acd4644f062affcd5968ebed7b5b4b51Christian Maeder
c200224a127278d54634ca4a5079591cb989aaf3Christian Maeder-}
90d891c57bb3995a1373f1b80a314a43b22f6f31Christian Maeder
c200224a127278d54634ca4a5079591cb989aaf3Christian Maeder
8b66de47c89e252c907c8ed3a5ccd16dbccbfb3eChristian Maedermodule Main
c200224a127278d54634ca4a5079591cb989aaf3Christian Maeder
8bb80c9684e905de8dcfcfb1291542677e7d77b6Christian Maederwhere
8bb80c9684e905de8dcfcfb1291542677e7d77b6Christian Maeder
8bb80c9684e905de8dcfcfb1291542677e7d77b6Christian Maederimport System.Environment
4e9a6943fbd220c49b5984b2f26c854de962467fEugen Kuksaimport Logic.LogicGraph
7e965be3566555e4d59954ea0f2a71db93b0b87cChristian Maederimport Static.AnalysisLibrary
92494a941714233bcd640425aa50d3cf4859d7ebChristian Maederimport System.IO
74f3e694edeaaf8add16f3e4769927ef17fbcbf6Christian Maederimport Static.DotGraph
abae78eb5f549814bc82c5cbb376add6f5092a0dChristian Maeder
1d9dc6dfc2d65f34926ea78f108ace72a209010cChristian Maederimport GUI.ConvertDevToAbstractGraph
b7ad19a5692654e58d649c432caaf870e12e72a6Ewaryst Schulz
aa4eb025c4e78b41c479420336bf90219612f96bEugen Kuksaimport GUI.AbstractGraphView
8bb80c9684e905de8dcfcfb1291542677e7d77b6Christian Maederimport Options
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maederproceed fname showdg = do
863d4b011d04907325f3eed8e89975e38603cb05Christian Maeder res <- anaFile logicGraph defaultLogic defaultHetcatsOpts fname
b7ad19a5692654e58d649c432caaf870e12e72a6Ewaryst Schulz case res of
b7ad19a5692654e58d649c432caaf870e12e72a6Ewaryst Schulz Just (ln,_,dg,libenv) ->
e0c666e6515ea45fbeb47d7bb045b6ba4274c165Ewaryst Schulz if showdg then do
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder graphMem <- initializeConverter
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder (gid,gv,cmaps) <- convertGraph graphMem ln libenv
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder GUI.AbstractGraphView.redisplay gid gv
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder getLine
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder return ()
938677803842b384a91fef21f58f86b8e3188b43Ewaryst Schulz else do
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder h <- openFile (fname++".dot") WriteMode
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder sequence (map (hPutStrLn h) (dot dg))
dbc98cd8a9a829e020cfa0a9f3aff89de75caaa9Christian Maeder hClose h
a81a6e924a0a027f48823b0a09cf51ad807c2e5bChristian Maeder _ -> return ()
142fd5dd7fcfa170f08b2a0ab232859428f6e3c2Christian Maeder
7bb0a9e92bc7a6f868eaa0b9c3212c0af4f96b7fEugen Kuksamain = do
6197538e436eddfb51f56a434522d110ee8cc9e7Thiemo Wiedemeyer args <- getArgs
454e560c7c5b89cbc11b925133254025a730568aChristian Maeder proceed (head args) (not ((tail args)==["-dot"]))
610e0e84ed0edeed51cc4cb3bb769e30ea723578Christian Maeder