language-c99-simple-0.3.0: C-like AST to simplify writing C99 programs.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.C99.Simple.Translate

Documentation

translate :: TransUnit -> TransUnit Source #

transfundef :: FunDef -> FunDef Source #

transdecln :: Decln -> Decln Source #

transparamdecln :: Param -> ParamDecln Source #

transparam :: Param -> Decln Source #

getdeclr :: Type -> State Declr () Source #

getdeclnspecs :: Maybe StorageSpec -> Type -> DeclnSpecs Source #

transstorespec :: StorageSpec -> StorageClassSpec Source #

spec2spec :: TypeSpec -> [TypeSpec] Source #

transfielddeclns :: NonEmpty FieldDecln -> StructDeclnList Source #

transvariantdeclns :: NonEmpty Ident -> EnumrList Source #

getspecquals :: Type -> SpecQualList Source #

transexpr :: Expr -> Expr Source #

unaryop :: UnaryOp -> Expr -> UnaryExpr Source #

binaryop :: BinaryOp -> Expr -> Expr -> Expr Source #

assignop :: AssignOp -> Expr -> Expr -> AssignExpr Source #

transinit :: Init -> Init Source #

transinitlist :: NonEmpty InitItem -> InitList Source #

transdesigr :: Ident -> Design Source #

initexpr :: TypeName -> NonEmpty InitItem -> PostfixExpr Source #

transinititems :: NonEmpty InitItem -> InitList Source #

indexexpr :: Expr -> Expr -> PostfixExpr Source #

dotexpr :: Expr -> [Char] -> PostfixExpr Source #

arrowexpr :: Expr -> [Char] -> PostfixExpr Source #

castexpr :: TypeName -> Expr -> CastExpr Source #

funcall :: Expr -> [Expr] -> PostfixExpr Source #

condexpr :: Expr -> Expr -> Expr -> CondExpr Source #

getabstractdeclr :: Type -> State (Maybe AbstractDeclr) () Source #

transstmt :: Stmt -> Stmt Source #

exprstmt :: Expr -> Stmt Source #

ifstmt :: Expr -> [Stmt] -> Stmt Source #

ifelsestmt :: Expr -> [Stmt] -> [Stmt] -> Stmt Source #

switchstmt :: Expr -> [Case] -> Stmt Source #

whilestmt :: Expr -> [Stmt] -> Stmt Source #

forstmt :: Maybe Expr -> Maybe Expr -> Maybe Expr -> [Stmt] -> Stmt Source #

labelstmt :: String -> Stmt -> Stmt Source #

returnstmt :: Maybe Expr -> Stmt Source #

casestmt :: [Case] -> Stmt Source #

compound :: [Decln] -> [Stmt] -> CompoundStmt Source #

compoundstmt :: [Decln] -> [Stmt] -> Stmt Source #

fundirectdeclr :: Ident -> [Param] -> DirectDeclr Source #