aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.cpp
diff options
context:
space:
mode:
authorRenaud Guezennec <renaud.guezennec@ext.mpsa.com>2016-01-26 12:53:12 +0100
committerRenaud Guezennec <renaud.guezennec@ext.mpsa.com>2016-01-26 12:53:12 +0100
commit24e2e454f619b04657b09fd0efb040795cb458bc (patch)
treedc453c57ae3a8a623408e6e53c8ac369dc4f020c /diceparser.cpp
parenta72b0a68a42de414270a1c0333b27683271d260c (diff)
downloadOneRoll-24e2e454f619b04657b09fd0efb040795cb458bc.tar.gz
OneRoll-24e2e454f619b04657b09fd0efb040795cb458bc.zip
First shot for implementing ifnode.
Diffstat (limited to 'diceparser.cpp')
-rw-r--r--diceparser.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/diceparser.cpp b/diceparser.cpp
index 7fcf267..6e63eec 100644
--- a/diceparser.cpp
+++ b/diceparser.cpp
@@ -39,6 +39,7 @@
#include "node/listsetrollnode.h"
#include "node/listaliasnode.h"
#include "node/mergenode.h"
+#include "node/ifnode.h"
#define DEFAULT_FACES_NUMBER 10
@@ -60,14 +61,9 @@ DiceParser::DiceParser()
m_OptionOp->insert(QStringLiteral("r"),Reroll);
m_OptionOp->insert(QStringLiteral("e"),Explosing);
m_OptionOp->insert(QStringLiteral("a"),RerollAndAdd);
- //m_OptionOp->insert(QObject::tr("@"),JumpBackward);
-
+ m_OptionOp->insert(QStringLiteral("i"),ifOperator);
m_aliasList = new QList<DiceAlias*>();
- /*m_aliasList->append(new DiceAlias("l5r","D10k"));
- m_aliasList->append(new DiceAlias("l5R","D10K"));
- m_aliasList->append(new DiceAlias("nwod","D10e10c[>7]"));
- m_aliasList->append(new DiceAlias("(.*)wod(.*)","\\1d10e[=10]c[>=\\2]-@c[=1]",false));*/
m_nodeActionMap = new QMap<QString,NodeAction>();
m_nodeActionMap->insert(QStringLiteral("@"),JumpBackward);
@@ -952,6 +948,15 @@ bool DiceParser::readOption(QString& str,ExecutionNode* previous, bool hasDice)/
}
break;
+ case ifOperator:
+ {
+ IfNode* nodeif = new IfNode();
+ Validator* validator = m_parsingToolbox->readCompositeValidator(str);
+ if(NULL!=validator)
+ {
+
+ }
+ }
}
}