diff options
Diffstat (limited to 'src/libparser/include/diceparser/diceparserhelper.h')
| -rw-r--r-- | src/libparser/include/diceparser/diceparserhelper.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/libparser/include/diceparser/diceparserhelper.h b/src/libparser/include/diceparser/diceparserhelper.h new file mode 100644 index 0000000..6190df2 --- /dev/null +++ b/src/libparser/include/diceparser/diceparserhelper.h @@ -0,0 +1,96 @@ +#ifndef DICEPARSERHELPER_H +#define DICEPARSERHELPER_H + +class ValidatorList; +class ExecutionNode; + +#include <diceparser/diceparser_global.h> + +namespace Dice +{ +enum class CONDITION_STATE : int +{ + ERROR_STATE, + ALWAYSTRUE, + UNREACHABLE, + REACHABLE +}; + +enum class ERROR_CODE : int +{ + NO_DICE_ERROR, + DIE_RESULT_EXPECTED, + BAD_SYNTAXE, + ENDLESS_LOOP_ERROR, + DIVIDE_BY_ZERO, + NOTHING_UNDERSTOOD, + NO_DICE_TO_ROLL, + TOO_MANY_DICE, + NO_VARIBALE, + INVALID_INDEX, + UNEXPECTED_CHARACTER, + NO_PREVIOUS_ERROR, + NO_VALID_RESULT, + SCALAR_RESULT_EXPECTED +}; + +/** + * @brief The RESULT_TYPE enum or combinaison + */ +enum class RESULT_TYPE : int +{ + NONE= 0, + SCALAR= 1, + STRING= 2, + DICE_LIST= 4 +}; +/** + * @brief The ConditionType enum defines compare method + */ +enum ConditionType +{ + OnEach, + OnEachValue, + OneOfThem, + AllOfThem, + OnScalar +}; + +enum class CompareOperator +{ + Equal, + GreaterThan, + LesserThan, + GreaterOrEqual, + LesserOrEqual, + Different +}; +enum class ArithmeticOperator +{ + PLUS, + MINUS, + DIVIDE, + MULTIPLICATION, + INTEGER_DIVIDE, + POW +}; +enum class LogicOperation +{ + OR, + EXCLUSIVE_OR, + AND, + NONE +}; + +enum class ConditionOperator +{ + Modulo +}; + +struct DICEPARSER_EXPORT CaseInfo +{ + ValidatorList* validatorList; + ExecutionNode* node; +}; +} // namespace Dice +#endif // DICEPARSERHELPER_H |