diff options
| author | 2015-04-01 08:12:40 +0200 | |
|---|---|---|
| committer | 2015-04-01 08:12:40 +0200 | |
| commit | 912e6f5df6b5f51ee3e28544720305fcfd3e6710 (patch) | |
| tree | 9daf471eee2ac3d7792e3b7991b086c0d2425643 /diceparser.h | |
| parent | 2225f71200d8513a86f24589d0d6c8e5843439cd (diff) | |
| parent | 60a0e524561ae86c9509c61b00a5d8ba40a1d7ee (diff) | |
| download | OneRoll-912e6f5df6b5f51ee3e28544720305fcfd3e6710.tar.gz OneRoll-912e6f5df6b5f51ee3e28544720305fcfd3e6710.zip | |
Merge branch 'master' of github-as-renaud:obiwankennedy/DiceParser
Diffstat (limited to 'diceparser.h')
| -rw-r--r-- | diceparser.h | 73 |
1 files changed, 70 insertions, 3 deletions
diff --git a/diceparser.h b/diceparser.h index 65a8b03..e4ea0e3 100644 --- a/diceparser.h +++ b/diceparser.h @@ -33,6 +33,7 @@ #include "booleancondition.h" #include "parsingtoolbox.h" +class ExploseDiceNode; /** * @mainpage DiceParser * @@ -109,6 +110,51 @@ public: * @brief displayDotTree */ void displayDotTree(); + /** + * @brief getLastIntegerResult + * @return + */ + qreal getLastIntegerResult(); + /** + * @brief getSumOfDiceResult + * @return + */ + qreal getSumOfDiceResult(); + /** + * @brief getLastDiceResult + * @return + */ + QString getLastDiceResult(); + /** + * @brief hasIntegerResultNotInFirst + * @return + */ + bool hasIntegerResultNotInFirst(); + /** + * @brief hasDiceResult + * @return + */ + bool hasDiceResult(); + /** + * @brief getDiceCommand + * @return + */ + QString getDiceCommand(); + /** + * @brief hasStringResult + * @return + */ + bool hasStringResult(); + /** + * @brief getStringResult + * @return + */ + QString getStringResult(); + /** + * @brief humanReadableError + * @return + */ + QString humanReadableError(); private: /** @@ -157,7 +203,13 @@ private: * @return */ DiceRollerNode* addRollDiceNode(qint64 faces,ExecutionNode*); - + /** + * @brief addExploseDiceNode + * @param faces + * @param previous + * @return + */ + ExploseDiceNode* addExploseDiceNode(qint64 faces,ExecutionNode* previous); /** * @brief readOperand * @param node @@ -176,12 +228,25 @@ private: * @return */ QList<ExecutionNode::ERROR_CODE> getErrorList(); - + /** + * @brief readInstructionOperator + * @param c + * @return + */ bool readInstructionOperator(QChar c); - + /** + * @brief readNode + * @param str + * @param node + * @return + */ bool readNode(QString& str,ExecutionNode* & node); + ExecutionNode* getLeafNode(); + bool hasResultOfType(Result::RESULT_TYPE,bool notthelast = false); + + private: QMap<QString,DiceOperator>* m_mapDiceOp; QMap<QString,OptionOperator>* m_OptionOp; @@ -189,6 +254,8 @@ private: QMap<QString,QString>* m_aliasMap; QStringList* m_commandList; + QMap<ExecutionNode::ERROR_CODE,QString> m_errorMap; + ExecutionNode* m_start; ExecutionNode* m_current; |