Hi,

I think I figured out what code I need to write to get the AST of a haskell 
module (pasted below).  Basically, I need to get the typed parsetrees of all 
Haskell base libraries to do some analysis.  But the that "parse" function 
seems to produce a "parse error" for each one of the base libraries.  In fact, 
it only works ok if I use a simple test file which contains "n = 3".  Any ideas?

parse :: String -> HsModule
parse syntax = 
  case parseModule syntax of 
    (ParseOk ast)          -> ast
    (ParseFailed loc msg)  -> error $ (show loc)

main = do
   file_content <- readFile targetFile
   let ast = parse file_content
   print ast

Thanks.
________________________________________
From: Malcolm Wallace [[email protected]]
Sent: Monday, January 03, 2011 12:44 AM
To: Jane Ren; GHC-users List
Cc: [email protected]
Subject: Re: GHC ParseTree Module

You will be more likely to get an answer on the ghc-users mailing list
(cc'ed).  The ghc developers rarely follow -cafe.

On 1 Jan 2011, at 20:36, Jane Ren wrote:

> Hi,
>
> Does anyone know what GHC module gets the AST and type info of some
> source code?  This is the GHC module that converts all of Haskell
> into an AST with a small number of pattern cases, where each AST
> node is annotated with the Haskell type.
>
> Thanks
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe


_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to