doMain :: FilePath -> FilePath -> [FilePath] -> IO (Maybe (String, [(VarDecl, CallGraph)]))
doMain base output files = do
  mpair <- analyzeFiles base files
  case mpair of
    Just (str, _) -> writeFile output ("<pre>\n" ++ str ++ "</pre>")
    Nothing -> return ()
  return mpair
doMain :: FilePath -> FilePath -> [FilePath] -> IO (Maybe (String, [(VarDecl, CallGraph)]))
doMain base output files = do
  mpair <- analyzeFiles base files
  case mpair of
    Just (str, _) -> writeFile output ("<pre>\n" ++ str ++ "</pre>")
    Nothing -> return ()
  return mpair
doMain base output files = do
  mpair <- analyzeFiles base files
  case mpair of
    Just (str, _) -> writeFile output ("<pre>\n" ++ str ++ "</pre>")
    Nothing -> return ()
  return mpair