127a36cba0c92b465681ec55ad366aca423735ebChristian MaederCopyright : (c) C. Maeder, DFKI GmbH 2010
98890889ffb2e8f6f722b00e265a211f13b5a861Corneliu-Claudiu ProdescuLicense : GPLv2 or higher, see LICENSE.txt
127a36cba0c92b465681ec55ad366aca423735ebChristian MaederMaintainer : Christian.Maeder@dfki.de
127a36cba0c92b465681ec55ad366aca423735ebChristian MaederStability : experimental
127a36cba0c92b465681ec55ad366aca423735ebChristian MaederPortability : portable
127a36cba0c92b465681ec55ad366aca423735ebChristian Maedermodule Main (main) where
127a36cba0c92b465681ec55ad366aca423735ebChristian Maeder args <- getArgs
127a36cba0c92b465681ec55ad366aca423735ebChristian Maeder [x, y] -> atDiffFP x y
127a36cba0c92b465681ec55ad366aca423735ebChristian Maeder _ -> putStrLn "expected two argument filenames"
57e0b8a9f8dc3a481f34e3a5392aaf6d0b7f94aeKlaus LuettichatDiffFP :: FilePath -> FilePath -> IO ()
7fd28a2052af78b95981d76ee6182a7df046cf77Christian MaederatDiffFP fp1 fp2 =
57e0b8a9f8dc3a481f34e3a5392aaf6d0b7f94aeKlaus Luettich do at1 <- atermFromFile fp1
57e0b8a9f8dc3a481f34e3a5392aaf6d0b7f94aeKlaus Luettich at2 <- atermFromFile fp2
127a36cba0c92b465681ec55ad366aca423735ebChristian Maeder let (at, diffs) = atDiff at1 at2
127a36cba0c92b465681ec55ad366aca423735ebChristian Maeder unless (null diffs) $ do
6c22726220ce34fe3f30c9ae61a1dfa832beac68Christian Maeder putStrLn (writeATerm (toATermTable at))
6c22726220ce34fe3f30c9ae61a1dfa832beac68Christian Maeder putStrLn (writeATerm (toATermTable (AList diffs [])))
57e0b8a9f8dc3a481f34e3a5392aaf6d0b7f94aeKlaus LuettichatermFromFile :: FilePath -> IO ATerm
7fd28a2052af78b95981d76ee6182a7df046cf77Christian MaederatermFromFile fp =
57e0b8a9f8dc3a481f34e3a5392aaf6d0b7f94aeKlaus Luettich do str <- readFile fp
57e0b8a9f8dc3a481f34e3a5392aaf6d0b7f94aeKlaus Luettich return (getATermFull (readATerm str))