8#ifndef SEN_CORE_LANG_STL_EXPRESSION_H
9#define SEN_CORE_LANG_STL_EXPRESSION_H
32 std::shared_ptr<StlExpr>
expr;
53 std::shared_ptr<StlExpr>
lhs;
55 std::shared_ptr<StlExpr>
rhs;
67 std::shared_ptr<StlExpr>
expr;
80 std::shared_ptr<StlExpr>
lhs;
82 std::shared_ptr<StlExpr>
rhs;
88 std::vector<StlToken>
path;
95 std::shared_ptr<StlExpr>
lhs;
96 std::shared_ptr<StlExpr>
min;
97 std::shared_ptr<StlExpr>
max;
104 std::shared_ptr<StlExpr>
lhs;
105 std::vector<std::shared_ptr<StlExpr>>
set;
bool notBetween
Definition stl_expression.h:98
std::shared_ptr< StlExpr > lhs
Definition stl_expression.h:95
std::shared_ptr< StlExpr > expr
Definition stl_expression.h:67
std::shared_ptr< StlExpr > expr
Definition stl_expression.h:32
std::shared_ptr< StlExpr > lhs
Definition stl_expression.h:80
std::shared_ptr< StlExpr > lhs
Definition stl_expression.h:104
std::shared_ptr< StlExpr > min
Definition stl_expression.h:96
StlExprVal value
Definition stl_expression.h:123
StlToken value
Definition stl_expression.h:61
std::shared_ptr< StlExpr > lhs
Definition stl_expression.h:53
StlUnaryOperator op
Definition stl_expression.h:31
std::shared_ptr< StlExpr > max
Definition stl_expression.h:97
std::shared_ptr< StlExpr > rhs
Definition stl_expression.h:82
std::shared_ptr< StlExpr > rhs
Definition stl_expression.h:55
StlLogicalOperator op
Definition stl_expression.h:81
std::vector< StlToken > path
Definition stl_expression.h:88
std::vector< std::shared_ptr< StlExpr > > set
Definition stl_expression.h:105
std::string name
Definition stl_expression.h:89
StlBinaryOperator op
Definition stl_expression.h:54
bool notIn
Definition stl_expression.h:106
std::variant< std::monostate, StlLiteralExpr, StlUnaryExpr, StlBinaryExpr, StlGroupingExpr, StlLogicalExpr, StlVariableExpr, StlBetweenExpr, StlInExpr > StlExprVal
A variant supporting all expressions.
Definition stl_expression.h:110
StlBinaryOperator
Kinds of binary operations.
Definition stl_expression.h:37
StlLogicalOperator
Logic.
Definition stl_expression.h:72
StlUnaryOperator
An operator on a single term.
Definition stl_expression.h:23
@ ge
Definition stl_expression.h:45
@ multiply
Definition stl_expression.h:40
@ gt
Definition stl_expression.h:44
@ add
Definition stl_expression.h:38
@ divide
Definition stl_expression.h:41
@ subtract
Definition stl_expression.h:39
@ ne
Definition stl_expression.h:47
@ le
Definition stl_expression.h:43
@ lt
Definition stl_expression.h:42
@ eq
Definition stl_expression.h:46
@ logicalOr
Definition stl_expression.h:74
@ logicalAnd
Definition stl_expression.h:73
@ negate
Definition stl_expression.h:25
@ logicalNot
Definition stl_expression.h:24
A BETWEEN expression.
Definition stl_expression.h:94
Binary expression.
Definition stl_expression.h:52
Wrapper for expression values.
Definition stl_expression.h:122
Groups.
Definition stl_expression.h:66
A IN expression.
Definition stl_expression.h:103
Literals.
Definition stl_expression.h:60
Binary logical operation.
Definition stl_expression.h:79
Unary operation.
Definition stl_expression.h:30
A variable.
Definition stl_expression.h:87
Definition code_location.h:14
Definition stl_token.h:98