diff options
| author | 2013-12-29 13:35:19 +0100 | |
|---|---|---|
| committer | 2013-12-29 13:35:19 +0100 | |
| commit | ce35330954ed54180cc16d4d774ba73577c98679 (patch) | |
| tree | 93343bec60a61ca8dd2c50c63e4347acf5787a07 | |
| parent | f30020384f816b498fe1f6013758a8de37811821 (diff) | |
| download | OneRoll-ce35330954ed54180cc16d4d774ba73577c98679.tar.gz OneRoll-ce35330954ed54180cc16d4d774ba73577c98679.zip | |
Adding comments
| -rw-r--r-- | diceparser.h | 48 | ||||
| -rw-r--r-- | node/scalaroperatornode.cpp | 1 |
2 files changed, 46 insertions, 3 deletions
diff --git a/diceparser.h b/diceparser.h index 022f95e..2905584 100644 --- a/diceparser.h +++ b/diceparser.h @@ -6,23 +6,67 @@ #include "node/executionnode.h" class Dice; - +/** + * @brief The DiceParser class facade class, it receives a command and return a DiceResult class (not yet implemented). + */ class DiceParser { public: + /** + * @brief The DiceOperator enum gathering all dice operator + */ enum DiceOperator {D}; + /** + * @brief The MathOperator enum gathering all dice option/math operator such as keep k, reroll r, explode e. + */ enum MathOperator {K,k,r,e}; + + /** + * @brief DiceParser default constructor + */ DiceParser(); + + /** + * @brief parseLine, method to call for starting the dice roll. It will parse the command and run the execution tree. + * @param str dice command + */ void parseLine(QString str); private: + /** + * @brief readNumber read number in the given str and remove from the string the read character. + * @param str the command line + * @param myNumber reference to the found number + * @return true, succeed to read number, false otherwise. + */ bool readNumber(QString& str, int& myNumber); + /** + * @brief readDice + * @param str + * @return + */ bool readDice(QString& str,Dice&); + /** + * @brief readDiceOperator + * @return + */ bool readDiceOperator(QString&,DiceOperator&); + /** + * @brief readDiceExpression + * @param node + * @return + */ bool readDiceExpression(QString&,ExecutionNode* & node); + /** + * @brief readOperator + * @return + */ bool readOperator(QString&); - + /** + * @brief setCurrentNode + * @param node + */ void setCurrentNode(ExecutionNode* node); private: diff --git a/node/scalaroperatornode.cpp b/node/scalaroperatornode.cpp index e8a2ec0..2df0c04 100644 --- a/node/scalaroperatornode.cpp +++ b/node/scalaroperatornode.cpp @@ -10,7 +10,6 @@ ScalarOperatorNode::ScalarOperatorNode() m_scalarOperationList.insert('x',MULTIPLICATION); m_scalarOperationList.insert('*',MULTIPLICATION); m_scalarOperationList.insert('/',DIVIDE); - m_scalarOperationList.insert('÷',DIVIDE); } void ScalarOperatorNode::run(ExecutionNode* previous) |