Language.C.Analysis.TravMonad

# AST traversal monad

class MonadTrav m

# Handling declarations

handleTagDecl

handleTagDef

handleEnumeratorDef

handleTypeDef

handleObjectDef

handleFunDef

handleVarDecl

handleParamDecl

handleAsmBlock

# Symbol table scope modification

enterPrototypeScope

leavePrototypeScope

enterFunctionScope

leaveFunctionScope

enterBlockScope

leaveBlockScope

# Symbol table lookup (delegate)

lookupTypeDef

lookupObject

# Symbol table modification

createSUERef

# Additional error handling facilities

hadHardErrors

handleTravError

throwOnLeft

astError

warn

# Trav - default MonadTrav implementation

data Trav s a

runTrav

runTrav_

data TravState s

initTravState

withExtDeclHandler

modifyUserState

userState

travErrors

# Helpers

mapMaybeM

maybeM

mapSndM

concatMapM