Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Codegen.ExprGen.Operator
Synopsis
- generateBinaryOp :: (MonadCodegen m, ExprGen Expr) => Expr -> m Operand
- data BinaryOp m = BinaryOp {}
- integerBinaryOperators :: MonadCodegen m => [BinaryOp m]
- floatingPointBinaryOperators :: MonadCodegen m => [BinaryOp m]
- data UnaryOp m = UnaryOp {
- unaryMapping :: UnaryOperation
- unaryFunction :: Operand -> m Operand
- generateUnaryOp :: (MonadCodegen m, ExprGen Expr) => Expr -> m Operand
- unaryOperators :: MonadCodegen m => SrcLoc -> [UnaryOp m]
- handlePreInc :: MonadCodegen m => SrcLoc -> Operand -> m Operand
- handlePreDec :: MonadCodegen m => SrcLoc -> Operand -> m Operand
- handlePostInc :: MonadCodegen m => SrcLoc -> Operand -> m Operand
- handlePostDec :: MonadCodegen m => SrcLoc -> Operand -> m Operand
- handleNot :: MonadCodegen m => SrcLoc -> Operand -> m Operand
- handleBitNot :: MonadCodegen m => SrcLoc -> Operand -> m Operand
- handleDeref :: MonadCodegen m => SrcLoc -> Operand -> m Operand
- handleAddrOf :: MonadCodegen m => SrcLoc -> Operand -> m Operand
Documentation
generateBinaryOp :: (MonadCodegen m, ExprGen Expr) => Expr -> m Operand Source #
Generate LLVM code for binary operations.
Binary operation data type.
integerBinaryOperators :: MonadCodegen m => [BinaryOp m] Source #
List of supported integer binary operators.
floatingPointBinaryOperators :: MonadCodegen m => [BinaryOp m] Source #
List of supported floating-point binary operators.
Unary operation data type.
Constructors
UnaryOp | |
Fields
|
generateUnaryOp :: (MonadCodegen m, ExprGen Expr) => Expr -> m Operand Source #
Generate LLVM code for unary operations.
unaryOperators :: MonadCodegen m => SrcLoc -> [UnaryOp m] Source #
List of supported unary operators.
handlePreInc :: MonadCodegen m => SrcLoc -> Operand -> m Operand Source #
Handle pre-increment unary operator.
handlePreDec :: MonadCodegen m => SrcLoc -> Operand -> m Operand Source #
Handle pre-decrement unary operator.
handlePostInc :: MonadCodegen m => SrcLoc -> Operand -> m Operand Source #
Handle post-increment unary operator.
handlePostDec :: MonadCodegen m => SrcLoc -> Operand -> m Operand Source #
Handle post-decrement unary operator.
handleBitNot :: MonadCodegen m => SrcLoc -> Operand -> m Operand Source #
Handle bit-not unary operator.
handleDeref :: MonadCodegen m => SrcLoc -> Operand -> m Operand Source #
Handle dereference unary operator.
handleAddrOf :: MonadCodegen m => SrcLoc -> Operand -> m Operand Source #
Handle address-of unary operator.