aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRenaud Guezennec <renaud.guezennec@softbankrobotics.com>2017-11-28 15:46:55 +0100
committerRenaud Guezennec <renaud.guezennec@softbankrobotics.com>2017-11-28 15:46:55 +0100
commitafd142aa0042575a37c4a56954b320c68b3466c1 (patch)
treefc03eff3db38fb5277ea8a345db7001b1fcb5a92
parentc159dc897e9db612d2223cb2d19555c28b722f70 (diff)
downloadOneRoll-afd142aa0042575a37c4a56954b320c68b3466c1.tar.gz
OneRoll-afd142aa0042575a37c4a56954b320c68b3466c1.zip
-Management of Dynamic Variable
-rw-r--r--diceparser.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 178a6cb..08f3110 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -45,6 +45,7 @@
#include "node/stringnode.h"
#include "node/splitnode.h"
#include "node/groupnode.h"
+#include "node/variablenode.h"
#define DEFAULT_FACES_NUMBER 10
@@ -1254,12 +1255,17 @@ QString DiceParser::humanReadableError()
bool DiceParser::readOperand(QString& str,ExecutionNode* & node)
{
- qint64 myNumber=1;
+ qint64 intValue=1;
QString resultStr;
- if(m_parsingToolbox->readNumber(str,myNumber))
+ if(m_parsingToolbox->readDynamicVariable(str,intValue))
+ {
+ VariableNode* variableNode = new VariableNode();
+ variableNode->setIndex(intValue);
+ }
+ else if(m_parsingToolbox->readNumber(str,intValue))
{
NumberNode* numberNode = new NumberNode();
- numberNode->setNumber(myNumber);
+ numberNode->setNumber(intValue);
node = numberNode;
return true;