diff options
| author | 2017-11-28 10:35:26 +0100 | |
|---|---|---|
| committer | 2017-11-28 10:35:26 +0100 | |
| commit | 4516fab0081b0db73b7401816a521453ab77ecc6 (patch) | |
| tree | 0cbdf6fc0c0b603a3a9dc9523f5e29302dd5467a /diceparser.cpp | |
| parent | 95d4b12f2900f13e5836cb460261c96889bdd4e5 (diff) | |
| download | OneRoll-4516fab0081b0db73b7401816a521453ab77ecc6.tar.gz OneRoll-4516fab0081b0db73b7401816a521453ab77ecc6.zip | |
add stuff to debug if operator in if operator
Diffstat (limited to 'diceparser.cpp')
| -rw-r--r-- | diceparser.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/diceparser.cpp b/diceparser.cpp index c2191ce..d9871e2 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -247,6 +247,11 @@ bool DiceParser::readExpression(QString& str,ExecutionNode* & node) node = operandNode; return true; } + else if(readOptionFromNull(str,operandNode)) + { + node = operandNode; + return true; + } else { ExecutionNode* diceNode=nullptr; @@ -254,7 +259,7 @@ bool DiceParser::readExpression(QString& str,ExecutionNode* & node) { NumberNode* numberNode=new NumberNode(); numberNode->setNumber(1); - ExecutionNode* previous = diceNode->getPreviousNode(); + ExecutionNode* previous = diceNode->getPreviousNode(); numberNode->setPreviousNode(previous); numberNode->setNextNode(diceNode); node = numberNode; @@ -271,6 +276,17 @@ bool DiceParser::readExpression(QString& str,ExecutionNode* & node) } return true; } +bool DiceParser::readOptionFromNull(QString& str,ExecutionNode* & node) +{ + StartingNode nodePrevious; + if(readOption(str,&nodePrevious)) + { + auto nodeNext = nodePrevious.getNextNode(); + node = nodeNext; + return true; + } + return false; +} bool DiceParser::readNode(QString& str,ExecutionNode* & node) { QString key= str.left(1); |