Language.C.Analysis.TravMonad

# Name generation monad

class MonadName m

# Symbol table monad

class MonadSymtab m

# Specialized C error-handling monad

class MonadCError m

# 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

getUserState

data TravOptions

modifyOptions

travErrors

# Language options

data CLanguage

# Helpers

mapMaybeM

maybeM

mapSndM

concatMapM