Added unary operators +, -, ~ and !

This commit is contained in:
WerWolv
2021-01-07 00:41:06 +01:00
parent acfd5aa02f
commit b30bb21646
5 changed files with 34 additions and 4 deletions

View File

@@ -56,6 +56,7 @@ namespace hex::lang {
ASTNode* parseScopeResolution(std::vector<std::string> &path);
ASTNode* parseRValue(std::vector<std::string> &path);
ASTNode* parseFactor();
ASTNode* parseUnaryExpression();
ASTNode* parseMultiplicativeExpression();
ASTNode* parseAdditiveExpression();
ASTNode* parseShiftExpression();

View File

@@ -45,6 +45,7 @@ namespace hex::lang {
BitOr,
BitAnd,
BitXor,
BitNot,
BoolEquals,
BoolNotEquals,
BoolGreaterThan,
@@ -53,7 +54,8 @@ namespace hex::lang {
BoolLessThanOrEquals,
BoolAnd,
BoolOr,
BoolXor
BoolXor,
BoolNot
};
enum class ValueType {
@@ -204,6 +206,7 @@ namespace hex::lang {
#define OPERATOR_BITOR COMPONENT(Operator, BitOr)
#define OPERATOR_BITAND COMPONENT(Operator, BitAnd)
#define OPERATOR_BITXOR COMPONENT(Operator, BitXor)
#define OPERATOR_BITNOT COMPONENT(Operator, BitNot)
#define OPERATOR_BOOLEQUALS COMPONENT(Operator, BoolEquals)
#define OPERATOR_BOOLNOTEQUALS COMPONENT(Operator, BoolNotEquals)
#define OPERATOR_BOOLGREATERTHAN COMPONENT(Operator, BoolGreaterThan)
@@ -213,6 +216,7 @@ namespace hex::lang {
#define OPERATOR_BOOLAND COMPONENT(Operator, BoolAnd)
#define OPERATOR_BOOLOR COMPONENT(Operator, BoolOr)
#define OPERATOR_BOOLXOR COMPONENT(Operator, BoolXor)
#define OPERATOR_BOOLNOT COMPONENT(Operator, BoolNot)
#define VALUETYPE_CUSTOMTYPE COMPONENT(ValueType, CustomType)
#define VALUETYPE_PADDING COMPONENT(ValueType, Padding)