prolog-graph 0.1.0.1 → 0.1.0.2
raw patch · 2 files changed
+33/−1 lines, 2 files
Files
- ParseArgs.hs +31/−0
- prolog-graph.cabal +2/−1
+ 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.*,