aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.h
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2015-03-05 14:30:18 +0100
committerRenaud G <renaud@rolisteam.org>2015-03-05 14:30:18 +0100
commit606001e99593372d0a71c566a5efdefd48175305 (patch)
tree28f1fdee4a0afd5a8b425eebdb8a8d9e73a255d6 /diceparser.h
parent30aaf7a35bc6e8224ad683148af28cedf81f03fd (diff)
downloadOneRoll-606001e99593372d0a71c566a5efdefd48175305.tar.gz
OneRoll-606001e99593372d0a71c566a5efdefd48175305.zip
add generateTree
add jumpbackward node
Diffstat (limited to 'diceparser.h')
-rw-r--r--diceparser.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/diceparser.h b/diceparser.h
index 035c56e..22dead1 100644
--- a/diceparser.h
+++ b/diceparser.h
@@ -60,12 +60,17 @@ public:
*/
enum DiceOperator {D,L};
+ /**
+ * @brief The DiceSymbol enum
+ */
+ enum NodeAction {JumpBackward};
+
/**
* @brief The OptionOperator enum gathering all options availables for result.
*/
- enum OptionOperator {KeepAndExplose,Keep,Reroll,Explosing,Sort,Count,RerollAndAdd,JumpBackward};
+ enum OptionOperator {KeepAndExplose,Keep,Reroll,Explosing,Sort,Count,RerollAndAdd};
/**
* @brief DiceParser default constructor
@@ -93,6 +98,7 @@ public:
bool readExpression(QString& str,ExecutionNode* & node);
+ void displayDotTree();
private:
/**
@@ -163,12 +169,17 @@ private:
bool readInstructionOperator(QChar c);
+ bool readNode(QString& str,ExecutionNode* & node);
+
+
private:
QMap<QString,DiceOperator>* m_mapDiceOp;
QMap<QString,OptionOperator>* m_OptionOp;
+ QMap<QString,NodeAction>* m_nodeActionMap;
QMap<QString,QString>* m_aliasMap;
QList<QString>* m_commandList;
+
ExecutionNode* m_start;
ExecutionNode* m_current;
QString m_command;