Initial work on expression parsing.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
59
src/CoreData/Operators.hpp
Normal file
59
src/CoreData/Operators.hpp
Normal file
@@ -0,0 +1,59 @@
|
||||
#ifndef MALACHSCRIPT_OPERATORS_HPP
|
||||
#define MALACHSCRIPT_OPERATORS_HPP
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace MalachScript {
|
||||
enum class AssignmentOperator : uint8_t {
|
||||
Assignment, // =
|
||||
AdditionAssignment, // +=
|
||||
SubtractionAssignment, // -=
|
||||
MultiplicationAssignment, // *=
|
||||
DivisionAssignment, // /=
|
||||
BitwiseOrAssignment, // |=
|
||||
BitwiseAndAssignment, // &=
|
||||
BitwiseXorAssignment, // ^=
|
||||
ModuloAssignment, // %=
|
||||
ExponentiationAssignment, // **=
|
||||
BitwiseLeftShiftAssignment, // <<=
|
||||
BitwiseRightShiftAssignment, // >>=
|
||||
ArithmeticRightShiftAssignment, // >>>=
|
||||
};
|
||||
|
||||
enum class LogicOperator : uint8_t {
|
||||
LogicalAnd, // &&, and
|
||||
LogicalOr, // ||, or
|
||||
LogicalXor, // ^^, xor
|
||||
};
|
||||
|
||||
enum class ComparisonOperator : uint8_t {
|
||||
Equality, // ==
|
||||
Inequality, // !=
|
||||
LessThan, // <
|
||||
LessThanEquals, // <=
|
||||
GreaterThan, // >
|
||||
GreaterThanEquals, // >=
|
||||
Identity, // is
|
||||
InverseIdentity, // !is
|
||||
};
|
||||
|
||||
enum class MathOperator : uint8_t {
|
||||
Addition,
|
||||
Subtraction,
|
||||
Multiplication,
|
||||
Division,
|
||||
Modulo,
|
||||
Exponentiation,
|
||||
};
|
||||
|
||||
enum class BitOperator : uint8_t {
|
||||
BitwiseAnd,
|
||||
BitwiseOr,
|
||||
BitwiseXor,
|
||||
BitwiseLeftShift,
|
||||
BitwiseRightShift,
|
||||
ArithmeticRightShift,
|
||||
};
|
||||
}
|
||||
|
||||
#endif // MALACHSCRIPT_OPERATORS_HPP
|
||||
Reference in New Issue
Block a user