content: -----------------------------------------------------------------------------
  -- |
  -- Module      :  Language.C.Analysis
  -- Copyright   :  (c) 2008 Benedikt Huber
  -- License     :  BSD-style
  -- Maintainer  :  benedikt.huber@gmail.com
  -- Stability   :  alpha
  -- Portability :  ghc
  --
  -- 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
  
  -----------------------------------------------------------------------------
  module Language.C.Analysis (
      -- * Semantic representation
      module Language.C.Analysis.SemRep,
      -- * Error datatypes for the analysis
      module Language.C.Analysis.SemError,
      -- * Traversal monad
      module Language.C.Analysis.TravMonad,
      -- * Top level analysis
      module Language.C.Analysis.AstAnalysis,
      -- * Analyzing declarations
      module Language.C.Analysis.DeclAnalysis,
      -- * Debug print
      module Language.C.Analysis.Debug,
  )
  where
  import Language.C.Analysis.SemError
  import Language.C.Analysis.SemRep
  
  import Language.C.Analysis.DefTable
  import Language.C.Analysis.TravMonad
  
  import Language.C.Analysis.AstAnalysis
  import Language.C.Analysis.DeclAnalysis
  
  import Language.C.Analysis.Debug
  