diff options
| -rw-r--r-- | diceparser.h | 2 | ||||
| -rw-r--r-- | node/numbernode.cpp | 21 | ||||
| -rw-r--r-- | node/numbernode.h | 24 | ||||
| -rw-r--r-- | node/parenthesesnode.cpp | 21 | ||||
| -rw-r--r-- | node/parenthesesnode.h | 26 | ||||
| -rw-r--r-- | node/sortresult.cpp | 23 | ||||
| -rw-r--r-- | node/sortresult.h | 45 | ||||
| -rw-r--r-- | node/startingnode.h | 19 | ||||
| -rw-r--r-- | parsingtoolbox.h | 3 | ||||
| -rw-r--r-- | range.h | 3 | ||||
| -rw-r--r-- | result/scalarresult.h | 22 | ||||
| -rw-r--r-- | validator.h | 25 |
12 files changed, 221 insertions, 13 deletions
diff --git a/diceparser.h b/diceparser.h index 93c5c2e..717630e 100644 --- a/diceparser.h +++ b/diceparser.h @@ -41,7 +41,7 @@ typedef QMap<int,ListDiceResult > ExportedDiceResult; class ExploseDiceNode; /** - * @mainpage DiceParser + * @page DiceParser * * The grammar is something like this: * diff --git a/node/numbernode.cpp b/node/numbernode.cpp index 51a859f..ba063db 100644 --- a/node/numbernode.cpp +++ b/node/numbernode.cpp @@ -1,3 +1,24 @@ +/*************************************************************************** +* Copyright (C) 2014 by Renaud Guezennec * +* http://renaudguezennec.homelinux.org/accueil,3.html * +* * +* This file is part of DiceParser * +* * +* DiceParser is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ #include "numbernode.h" NumberNode::NumberNode() diff --git a/node/numbernode.h b/node/numbernode.h index f653595..3c43a51 100644 --- a/node/numbernode.h +++ b/node/numbernode.h @@ -1,9 +1,33 @@ +/*************************************************************************** +* Copyright (C) 2014 by Renaud Guezennec * +* http://renaudguezennec.homelinux.org/accueil,3.html * +* * +* This file is part of DiceParser * +* * +* DiceParser is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ #ifndef NUMBERNODE_H #define NUMBERNODE_H #include "node/executionnode.h" #include "result/scalarresult.h" +/** + * @brief The NumberNode class is an ExecutionNode. It is dedicated to store number. + */ class NumberNode : public ExecutionNode { public: diff --git a/node/parenthesesnode.cpp b/node/parenthesesnode.cpp index f76d33c..2876147 100644 --- a/node/parenthesesnode.cpp +++ b/node/parenthesesnode.cpp @@ -1,3 +1,24 @@ +/*************************************************************************** +* Copyright (C) 2014 by Renaud Guezennec * +* http://renaudguezennec.homelinux.org/accueil,3.html * +* * +* This file is part of DiceParser * +* * +* DiceParser is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ #include "parenthesesnode.h" ParenthesesNode::ParenthesesNode() diff --git a/node/parenthesesnode.h b/node/parenthesesnode.h index 9df3cdc..999e7bd 100644 --- a/node/parenthesesnode.h +++ b/node/parenthesesnode.h @@ -1,8 +1,32 @@ +/*************************************************************************** +* Copyright (C) 2014 by Renaud Guezennec * +* http://renaudguezennec.homelinux.org/accueil,3.html * +* * +* This file is part of DiceParser * +* * +* DiceParser is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ #ifndef PARENTHESESNODE_H #define PARENTHESESNODE_H #include "executionnode.h" - +/** + * @brief The ParenthesesNode class is an ExecutionNode. It is dedicated to manage expression which was inside ParenthesesNode. + * It is acting just like an StartingNode by for an internal execution tree. + */ class ParenthesesNode : public ExecutionNode { public: diff --git a/node/sortresult.cpp b/node/sortresult.cpp index deaf794..b3e6b49 100644 --- a/node/sortresult.cpp +++ b/node/sortresult.cpp @@ -1,3 +1,24 @@ +/*************************************************************************** +* Copyright (C) 2014 by Renaud Guezennec * +* http://renaudguezennec.homelinux.org/accueil,3.html * +* * +* This file is part of DiceParser * +* * +* DiceParser is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ #include "sortresult.h" #include <QDebug> @@ -25,7 +46,7 @@ void SortResultNode::run(ExecutionNode* node) QList<Die*> diceList2=m_diceResult->getResultList(); - // Dichotomic sorting + // half-interval search sorting for(int i = 0; i<diceList.size();++i) { Die* tmp1 = diceList[i]; diff --git a/node/sortresult.h b/node/sortresult.h index 8ce03a2..d505e4b 100644 --- a/node/sortresult.h +++ b/node/sortresult.h @@ -1,18 +1,59 @@ +/*************************************************************************** +* Copyright (C) 2014 by Renaud Guezennec * +* http://renaudguezennec.homelinux.org/accueil,3.html * +* * +* This file is part of DiceParser * +* * +* DiceParser is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +* * +* This program is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with this program; if not, write to the * +* Free Software Foundation, Inc., * +* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * +***************************************************************************/ #ifndef SORTRESULT_H #define SORTRESULT_H #include "executionnode.h" #include "result/diceresult.h" - +/** + * @brief The SortResultNode class is an ExecutionNode, and it is dedicated to sort dice list. + * The sort is made by hand, using half-interval search algorithm. + */ class SortResultNode : public ExecutionNode { public: + /** + * @brief SortResultNode + */ SortResultNode(); + /** + * @brief run + */ virtual void run(ExecutionNode*); - + /** + * @brief setSortAscending + * @param asc + */ void setSortAscending(bool asc); + /** + * @brief toString + * @return + */ virtual QString toString()const; + /** + * @brief getPriority + * @return + */ virtual qint64 getPriority() const; private: diff --git a/node/startingnode.h b/node/startingnode.h index ccb7c87..ebe28c0 100644 --- a/node/startingnode.h +++ b/node/startingnode.h @@ -3,13 +3,30 @@ #include "executionnode.h" +/** + * @brief The StartingNode class is an ExecutionNode, StartingNode is dedicated to be the first node + * in the execution tree. + */ class StartingNode : public ExecutionNode { public: + /** + * @brief StartingNode + */ StartingNode(); - + /** + * @brief run + */ virtual void run(ExecutionNode*); + /** + * @brief toString + * @return + */ virtual QString toString()const; + /** + * @brief getPriority + * @return + */ virtual qint64 getPriority() const; }; diff --git a/parsingtoolbox.h b/parsingtoolbox.h index d7fdc31..8958550 100644 --- a/parsingtoolbox.h +++ b/parsingtoolbox.h @@ -30,7 +30,8 @@ #include "range.h" /** - * @brief The ParsingToolBox class - gathering tools + * @brief The ParsingToolBox is gathering many useful methods for dice parsing. + * Its goal is to make the diceparser a bit lighter. */ class ParsingToolBox { @@ -25,6 +25,9 @@ #include <Qt> #include "validator.h" +/** + * @brief The Range class is validator class to check validity between two values. + */ class Range : public Validator { public: diff --git a/result/scalarresult.h b/result/scalarresult.h index 4d64a90..8a0fa11 100644 --- a/result/scalarresult.h +++ b/result/scalarresult.h @@ -25,16 +25,30 @@ #include "result.h" #include <Qt> - +/** + * @brief The ScalarResult class is used to store scalar result by many ExecutionNode. + */ class ScalarResult : public Result { public: + /** + * @brief ScalarResult + */ ScalarResult(); - + /** + * @brief getResult + * @return + */ virtual QVariant getResult(Result::RESULT_TYPE); - + /** + * @brief setValue + * @param i + */ void setValue(qreal i); - + /** + * @brief toString + * @return + */ virtual QString toString(); private: diff --git a/validator.h b/validator.h index d18a691..6dd8292 100644 --- a/validator.h +++ b/validator.h @@ -25,14 +25,35 @@ #include <Qt> #include "die.h" #include <QString> - +/** + * @brief The Validator class is an abstract class for checking the validity of dice for some + * operator. + */ class Validator { public: + /** + * @brief Validator + */ Validator(); + /** + * @brief hasValid + * @param b + * @param recursive + * @param unlight + * @return + */ virtual qint64 hasValid(Die* b,bool recursive,bool unlight = false) const = 0 ; - + /** + * @brief toString + * @return + */ virtual QString toString()=0; + /** + * @brief getValidRangeSize + * @param faces + * @return + */ virtual quint8 getValidRangeSize(quint64 faces) const = 0 ; }; |