module Language.C99.Simple.Expr where
import Prelude hiding (LT, GT)
import Language.C99.Simple.AST
(.++) :: Expr -> Expr
.++ :: Expr -> Expr
(.++) = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
Inc
(.--) :: Expr -> Expr
.-- :: Expr -> Expr
(.--) = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
Dec
ref :: Expr -> Expr
ref :: Expr -> Expr
ref = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
Ref
deref :: Expr -> Expr
deref :: Expr -> Expr
deref = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
DeRef
pos :: Expr -> Expr
pos :: Expr -> Expr
pos = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
Plus
neg :: Expr -> Expr
neg :: Expr -> Expr
neg = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
Min
(.~) :: Expr -> Expr
.~ :: Expr -> Expr
(.~) = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
BoolNot
(.!) :: Expr -> Expr
.! :: Expr -> Expr
(.!) = UnaryOp -> Expr -> Expr
UnaryOp UnaryOp
Not
(.*) :: Expr -> Expr -> Expr
.* :: Expr -> Expr -> Expr
(.*) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
Mult
(./) :: Expr -> Expr -> Expr
./ :: Expr -> Expr -> Expr
(./) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
Div
(.%) :: Expr -> Expr -> Expr
.% :: Expr -> Expr -> Expr
(.%) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
Mod
(.+) :: Expr -> Expr -> Expr
.+ :: Expr -> Expr -> Expr
(.+) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
Add
(.-) :: Expr -> Expr -> Expr
.- :: Expr -> Expr -> Expr
(.-) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
Sub
(.<<) :: Expr -> Expr -> Expr
.<< :: Expr -> Expr -> Expr
(.<<) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
ShiftL
(.>>) :: Expr -> Expr -> Expr
.>> :: Expr -> Expr -> Expr
(.>>) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
ShiftR
(.<) :: Expr -> Expr -> Expr
.< :: Expr -> Expr -> Expr
(.<) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
LT
(.>) :: Expr -> Expr -> Expr
.> :: Expr -> Expr -> Expr
(.>) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
GT
(.<=) :: Expr -> Expr -> Expr
.<= :: Expr -> Expr -> Expr
(.<=) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
LE
(.>=) :: Expr -> Expr -> Expr
.>= :: Expr -> Expr -> Expr
(.>=) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
GE
(.==) :: Expr -> Expr -> Expr
.== :: Expr -> Expr -> Expr
(.==) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
Eq
(.!=) :: Expr -> Expr -> Expr
.!= :: Expr -> Expr -> Expr
(.!=) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
NEq
(.&) :: Expr -> Expr -> Expr
.& :: Expr -> Expr -> Expr
(.&) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
And
(.^) :: Expr -> Expr -> Expr
.^ :: Expr -> Expr -> Expr
(.^) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
XOr
(.|) :: Expr -> Expr -> Expr
.| :: Expr -> Expr -> Expr
(.|) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
Or
(.&&) :: Expr -> Expr -> Expr
.&& :: Expr -> Expr -> Expr
(.&&) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
LAnd
(.||) :: Expr -> Expr -> Expr
.|| :: Expr -> Expr -> Expr
(.||) = BinaryOp -> Expr -> Expr -> Expr
BinaryOp BinaryOp
LOr
(.=) :: Expr -> Expr -> Expr
.= :: Expr -> Expr -> Expr
(.=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
Assign
(.*=) :: Expr -> Expr -> Expr
.*= :: Expr -> Expr -> Expr
(.*=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignMult
(./=) :: Expr -> Expr -> Expr
./= :: Expr -> Expr -> Expr
(./=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignDiv
(.%=) :: Expr -> Expr -> Expr
.%= :: Expr -> Expr -> Expr
(.%=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignMod
(.+=) :: Expr -> Expr -> Expr
.+= :: Expr -> Expr -> Expr
(.+=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignAdd
(.-=) :: Expr -> Expr -> Expr
.-= :: Expr -> Expr -> Expr
(.-=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignSub
(.<<=) :: Expr -> Expr -> Expr
.<<= :: Expr -> Expr -> Expr
(.<<=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignShiftL
(.>>=) :: Expr -> Expr -> Expr
.>>= :: Expr -> Expr -> Expr
(.>>=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignShiftR
(.&=) :: Expr -> Expr -> Expr
.&= :: Expr -> Expr -> Expr
(.&=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignAnd
(.^=) :: Expr -> Expr -> Expr
.^= :: Expr -> Expr -> Expr
(.^=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignXOr
(.|=) :: Expr -> Expr -> Expr
.|= :: Expr -> Expr -> Expr
(.|=) = AssignOp -> Expr -> Expr -> Expr
AssignOp AssignOp
AssignOr