aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--main.cpp6
-rw-r--r--node/executionnode.cpp4
-rw-r--r--node/executionnode.h3
-rw-r--r--node/sortresult.cpp13
4 files changed, 16 insertions, 10 deletions
diff --git a/main.cpp b/main.cpp
index eff3d60..b5c270b 100644
--- a/main.cpp
+++ b/main.cpp
@@ -44,8 +44,8 @@ int main(int argc, char *argv[])
<< "1D100a[>=95]a[>=96]a[>=97]a[>=98]a[>=99]e[>=100]"
<< "3D100"
<< "4k3"
- << "10D10e[>=6]s"
- //<< "100190D6666666s"
+ << "10D10e[>=6]sc[>=6]"
+ << "100190D6666666s"
<< "10D10e10s"
<< "10D10s"
<< "15D10e10c[8-10]"
@@ -65,7 +65,7 @@ int main(int argc, char *argv[])
for(int i=1;i<argc;++i)
{
- commands << QString::fromAscii(argv[i]);
+ commands << QString::fromLatin1(argv[i]);
}
}
diff --git a/node/executionnode.cpp b/node/executionnode.cpp
index 0f42afa..6d6fe8b 100644
--- a/node/executionnode.cpp
+++ b/node/executionnode.cpp
@@ -22,3 +22,7 @@ ExecutionNode* ExecutionNode::getNextNode()
{
return m_nextNode;
}
+QList<ExecutionNode::ERROR_CODE> ExecutionNode::getErrorList()
+{
+ return m_errors;
+}
diff --git a/node/executionnode.h b/node/executionnode.h
index 59308ff..b83a6f1 100644
--- a/node/executionnode.h
+++ b/node/executionnode.h
@@ -6,6 +6,7 @@
class ExecutionNode
{
public:
+ enum ERROR_CODE {NO_ERROR,DIE_RESULT_EXPECTED,BAD_SYNTAXE};
ExecutionNode();
virtual ~ExecutionNode();
virtual void run(ExecutionNode* previous = NULL)=0;
@@ -14,9 +15,11 @@ public:
ExecutionNode* getNextNode();
virtual QString toString()const=0;
virtual qint64 getPriority() const=0;
+ virtual QList<ExecutionNode::ERROR_CODE> getErrorList();
protected:
Result* m_result;
ExecutionNode* m_nextNode;
+ QList<ExecutionNode::ERROR_CODE> m_errors;
};
#endif // EXECUTIONNODE_H
diff --git a/node/sortresult.cpp b/node/sortresult.cpp
index 8a0e58d..c80ebec 100644
--- a/node/sortresult.cpp
+++ b/node/sortresult.cpp
@@ -17,7 +17,7 @@ void SortResultNode::run(ExecutionNode* node)
{
return;
}
- DiceResult* previousDiceResult = static_cast<DiceResult*>(node->getResult());
+ DiceResult* previousDiceResult = dynamic_cast<DiceResult*>(node->getResult());
m_diceResult->setPrevious(previousDiceResult);
if(NULL!=previousDiceResult)
{
@@ -61,12 +61,7 @@ void SortResultNode::run(ExecutionNode* node)
}
}
- //qDebug() << tmp1->getValue() << j << found;
- //if(found)
- diceList2.insert(j,tmp1);
- /*else
- diceList2.append(tmp1);*/
-
+ diceList2.insert(j,tmp1);
}
if(!m_ascending)
@@ -86,6 +81,10 @@ void SortResultNode::run(ExecutionNode* node)
m_nextNode->run(this);
}
}
+ else
+ {
+ m_errors.append(DIE_RESULT_EXPECTED);
+ }
}
void SortResultNode::setSortAscending(bool asc)