struct BracketsExpr;\r
struct UnaryOperatorExpr;\r
struct BinaryOperatorExpr;\r
struct TernaryOperatorExpr;\r
struct DotExpr;\r
struct BracketsExpr;\r
struct UnaryOperatorExpr;\r
struct BinaryOperatorExpr;\r
struct TernaryOperatorExpr;\r
struct DotExpr;\r
std::vector<Variable> variables;\r
std::vector<Struct> structs;\r
std::vector<Function> functions;\r
};\r
\r
std::vector<Variable> variables;\r
std::vector<Struct> structs;\r
std::vector<Function> functions;\r
};\r
\r
Func, Lit, Identifier, Brackets, UnaryOperator, BinaryOperator, TernaryOperator, Dot\r
};\r
\r
Func, Lit, Identifier, Brackets, UnaryOperator, BinaryOperator, TernaryOperator, Dot\r
};\r
\r
Int, Decimal, String, Bool\r
};\r
\r
Int, Decimal, String, Bool\r
};\r
\r
-enum class UnaryOperatorType {\r
- Plus, Minus, IncrementPre, DecrementPre, IncrementPost, DecrementPost, LogicalNot, BitwiseNot, Dereference, AddressOf\r
+enum class UnaryOperatorType\r
+{\r
+ Plus, Minus, IncrementPre, DecrementPre, IncrementPost, DecrementPost,\r
+ LogicalNot, BitwiseNot, Dereference, AddressOf,\r
+ COUNT\r
Plus, Minus, Multiply, Divide, Modulo, BitwiseAnd, BitwiseOr, BitwiseXor, LessThan, GreaterThan,\r
LeftShift, RightShift, LogicalAnd, LogicalOr, Equals, NotEquals, LessThanEquals, GreaterThanEquals, BitwiseAndEquals, BitwiseOrEquals, BitwiseXorEquals,\r
PlusEquals, MinusEquals, MultiplyEquals, DivideEquals, ModuloEquals,\r
Plus, Minus, Multiply, Divide, Modulo, BitwiseAnd, BitwiseOr, BitwiseXor, LessThan, GreaterThan,\r
LeftShift, RightShift, LogicalAnd, LogicalOr, Equals, NotEquals, LessThanEquals, GreaterThanEquals, BitwiseAndEquals, BitwiseOrEquals, BitwiseXorEquals,\r
PlusEquals, MinusEquals, MultiplyEquals, DivideEquals, ModuloEquals,\r
"+", "-", "++", "--", "++", "--", "!", "~", "*", "&" };\r
\r
"+", "-", "++", "--", "++", "--", "!", "~", "*", "&" };\r
\r
"+", "-", "*", "/", "%", "&", "|", "^", "<", ">",\r
"<<",">>","&&","||","==","!=","<=",">=","&=","|=","^=",\r
"+=","-=","*=","/=","%=",\r
"<<=",">>=" };\r
\r
"+", "-", "*", "/", "%", "&", "|", "^", "<", ">",\r
"<<",">>","&&","||","==","!=","<=",">=","&=","|=","^=",\r
"+=","-=","*=","/=","%=",\r
"<<=",">>=" };\r
\r
BinaryOperatorType type;\r
std::shared_ptr<Expr> lexpr;\r
std::shared_ptr<Expr> rexpr;\r
};\r
\r
BinaryOperatorType type;\r
std::shared_ptr<Expr> lexpr;\r
std::shared_ptr<Expr> rexpr;\r
};\r
\r
std::shared_ptr<Expr> lexpr;\r
std::shared_ptr<Expr> rexprTrue;\r
std::shared_ptr<Expr> rexprFalse;\r
};\r
\r
std::shared_ptr<Expr> lexpr;\r
std::shared_ptr<Expr> rexprTrue;\r
std::shared_ptr<Expr> rexprFalse;\r
};\r
\r
If, Switch, For, While, Assign, Return, Expr\r
};\r
\r
If, Switch, For, While, Assign, Return, Expr\r
};\r
\r