diff options
| -rw-r--r-- | diceparser.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/diceparser.cpp b/diceparser.cpp index 4c51d55..b40d5e9 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -770,10 +770,15 @@ bool DiceParser::readOperator(QString& str,ExecutionNode* previous) nodeExecOrChild = nodeExecOrChild->getNextNode(); } - if((nullptr != nodeExecOrChild)&&(nodeExec != nodeExecOrChild)) + // management of operator priority + if((nullptr != nodeExecOrChild)&&(nodeExec != nodeExecOrChild)) { - node->setNextNode(nodeExecOrChild); - parent->setNextNode(NULL); + // good 1 1 2 ; bad 1 0 4 + if(nodeExecOrChild->getPriority()>=node->getPriority()) + { + node->setNextNode(nodeExecOrChild); + parent->setNextNode(NULL); + } } else if(node->getPriority()>=nodeExec->getPriority()) { |