aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/libparser/include/diceparser/diceparserhelper.h
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2022-04-29 10:48:09 +0200
committerRenaud G <renaud@rolisteam.org>2022-04-29 10:48:09 +0200
commit07c5f6ec23fcf9237a24e71adcfacabce677f818 (patch)
tree588e8c5f82b9163181fad3581f610e6f1d88cba4 /src/libparser/include/diceparser/diceparserhelper.h
parenta9153f1615a842cfb9e9bcda4d9071e202618569 (diff)
downloadOneRoll-07c5f6ec23fcf9237a24e71adcfacabce677f818.tar.gz
OneRoll-07c5f6ec23fcf9237a24e71adcfacabce677f818.zip
Change file organization.
Diffstat (limited to 'src/libparser/include/diceparser/diceparserhelper.h')
-rw-r--r--src/libparser/include/diceparser/diceparserhelper.h96
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