calling a seperate program and supplying command line args.

How to basically? I've not had much luck finding much in the way of doc's in ghc on how to do this?...basically I have a compiler in haskell and I want to call a parser which is written in Java. The parser is a .NET binary, it spits out a text file containing the parse tree which I then suck up and do the usual compiler things with. I need to supply the java parser command line args i.e the file to parse etc.. Thanks heaps Jason.

You should probably use POpen (if you're reading from a pipe). POpen is available from: http://www.01.246.ne.jp/~juhp/haskell/popenhs/ here's a short program that uses it (it's pretty easy to figure out what's going on, apologies for the lack of commenting): wn = "/nfs/mendels1/wordnet1.6/bin/wn" doSem hd = do let word = hd (sem,_,_) <- popenEnvDir wn [word, "-hypen", "-hypev"] Nothing (Just [("WNHOME","/nfs/mendels1/wordnet1.6"),("path","/nfs/mendels1/wordnet1.6/bin")]) Nothing return (findSem (readWordNet $ lines sem,word)) where findSem (x,y) | '%' `elem` y = PERCENT | '$' `elem` y = MONEY basically, use popenEnvDir, give it the executable, the arguments as a list, something i don't remember, an environment (if you want) and then it'll give you the output in the first of the triple. see the docs for what the rest does... -- Hal Daume III "Computer science is no more about computers | hdaume@isi.edu than astronomy is about telescopes." -Dijkstra | www.isi.edu/~hdaume On Fri, 9 Aug 2002, Jason Smith wrote:
How to basically?
I've not had much luck finding much in the way of doc's in ghc on how to do this?...basically I have a compiler in haskell and I want to call a parser which is written in Java. The parser is a .NET binary, it spits out a text file containing the parse tree which I then suck up and do the usual compiler things with. I need to supply the java parser command line args i.e the file to parse etc..
Thanks heaps Jason.

Hi there, in H98: import System .... exCode <- System.system "java-parser -O -c input-file -o output-file" ... ls <- readFile "output-file" --sigbjorn ----- Original Message ----- From: Jason Smith To: glasgow-haskell-users@haskell.org Sent: Thursday, August 08, 2002 15:24 Subject: calling a seperate program and supplying command line args. How to basically? I've not had much luck finding much in the way of doc's in ghc on how to do this?...basically I have a compiler in haskell and I want to call a parser which is written in Java. The parser is a .NET binary, it spits out a text file containing the parse tree which I then suck up and do the usual compiler things with. I need to supply the java parser command line args i.e the file to parse etc.. Thanks heaps Jason.
participants (3)
-
Hal Daume III
-
Jason Smith
-
Sigbjorn Finne