packages feed

prolog-graph 0.1.0.1 → 0.1.0.2

raw patch · 2 files changed

+33/−1 lines, 2 files

Files

+ ParseArgs.hs view
@@ -0,0 +1,31 @@+{-# LANGUAGE DeriveDataTypeable #-}+module ParseArgs (+   parseArgs+) where++import System.Console.CmdArgs+import System.Environment (getProgName)++data Options = Options+   { query :: String+   , file  :: [String]+   , output :: String+   , positional :: [String]+   }+  deriving (Data, Typeable)++options = Options+  { query  = def &= typ "QUERY" &= help "Set Prolog query (If not set, first positional argument is used)"+  , file   = def &= typ "FILE"  &= help "Consult file before executing query"+  , output = "graph.png" &= typ "FILE"  &= help "Save generated image to file (default: 'graph.png')"+  , positional = def &= args &= typ "QUERY [FILE]..."+  }+  &= versionArg [ignore]+  &= helpArg [name "h"]++parseArgs = do+   opts <- getProgName >>= cmdArgs . ((options &=) . program)+   return $ case opts of+      Options q fs o []      -> (q, fs,      o)+      Options _ fs o [q]     -> (q, fs,      o)+      Options _ fs o (q:fs') -> (q, fs++fs', o)
prolog-graph.cabal view
@@ -1,5 +1,5 @@ Name:                prolog-graph-Version:             0.1.0.1+Version:             0.1.0.2 Synopsis:            A command line tool to visualize query resolution in Prolog. Description:         This package installs the command line tool `hsprolog-graph` that                      generates images of resolution trees for given Prolog queries.@@ -19,6 +19,7 @@  Executable hsprolog-graph   Main-is: Main.hs+  Other-Modules: ParseArgs    Build-depends:     prolog == 0.1.*,