module Text.HPaco.AST.Expression where data Expression = StringLiteral String | BooleanLiteral Bool | IntLiteral Integer | FloatLiteral Double | ListExpression [Expression] | AListExpression [(Expression,Expression)] | VariableReference String | EscapeExpression EscapeMode Expression | TernaryExpression Expression Expression Expression | BinaryExpression BinaryOperator Expression Expression | UnaryExpression UnaryOperator Expression | FunctionCallExpression Expression [Expression] deriving (Show, Eq) data EscapeMode = EscapeHTML | EscapeURL deriving (Show, Eq) data UnaryOperator = OpNot deriving (Show, Eq) data BinaryOperator = OpEquals | OpNotEquals | OpLooseEquals | OpLooseNotEquals | OpGreater | OpLess | OpNotGreater | OpNotLess | OpPlus | OpMinus | OpMul | OpDiv | OpMod | OpMember | OpBooleanAnd | OpBooleanOr | OpBooleanXor | OpInList | OpConcat | OpCoalesce | Flipped BinaryOperator deriving (Show, Eq)