From 4516fab0081b0db73b7401816a521453ab77ecc6 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Tue, 28 Nov 2017 10:35:26 +0100 Subject: add stuff to debug if operator in if operator --- diceparser.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'diceparser.cpp') 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); -- cgit v1.2.3-70-g09d2