Copyright | (c) 2008 Benedikt Huber |
---|---|
License | BSD-style |
Maintainer | benedikt.huber@gmail.com |
Stability | alpha |
Portability | ghc |
Safe Haskell | None |
Language | Haskell98 |
Analysis of the AST.
Currently, we provide a monad for analysis and analyze declarations and types. Especially note that there is no direct support for analyzing function bodies and constant expressions.
NOTE This is an experimental interface, and therefore the API will change in the future.
DONE:
- Name analysis framework
- File-scope analysis
- Declaration analysis
TODO:
- Type checking expressions
- Constant expression evaluation (CEE)
- Typed representation of attributes (depends on CEE)
- Normalized representation of initializers
- Support for analyzing function bodies (depends on CEE)
- Normalizing expressions and statements
- Formal rules how to link back to the AST using NodeInfo fields
- Typed assembler representation