aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/diceparser.h
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2013-12-29 13:35:19 +0100
committerRenaud G <renaud@rolisteam.org>2013-12-29 13:35:19 +0100
commitce35330954ed54180cc16d4d774ba73577c98679 (patch)
tree93343bec60a61ca8dd2c50c63e4347acf5787a07 /diceparser.h
parentf30020384f816b498fe1f6013758a8de37811821 (diff)
downloadOneRoll-ce35330954ed54180cc16d4d774ba73577c98679.tar.gz
OneRoll-ce35330954ed54180cc16d4d774ba73577c98679.zip
Adding comments
Diffstat (limited to 'diceparser.h')
-rw-r--r--diceparser.h48
1 files changed, 46 insertions, 2 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: