Initial work on expression parsing.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-11-01 18:43:35 +01:00
parent e30bfe1686
commit c20a1089a9
7 changed files with 556 additions and 115 deletions

View 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