aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/diceparser/diceparser.h
diff options
context:
space:
mode:
authorRenaud G <renaud@rolisteam.org>2022-04-29 10:48:09 +0200
committerRenaud G <renaud@rolisteam.org>2022-04-29 10:48:09 +0200
commit07c5f6ec23fcf9237a24e71adcfacabce677f818 (patch)
tree588e8c5f82b9163181fad3581f610e6f1d88cba4 /include/diceparser/diceparser.h
parenta9153f1615a842cfb9e9bcda4d9071e202618569 (diff)
downloadOneRoll-07c5f6ec23fcf9237a24e71adcfacabce677f818.tar.gz
OneRoll-07c5f6ec23fcf9237a24e71adcfacabce677f818.zip
Change file organization.
Diffstat (limited to 'include/diceparser/diceparser.h')
-rw-r--r--include/diceparser/diceparser.h130
1 files changed, 0 insertions, 130 deletions
diff --git a/include/diceparser/diceparser.h b/include/diceparser/diceparser.h
deleted file mode 100644
index bf2d570..0000000
--- a/include/diceparser/diceparser.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2014 by Renaud Guezennec *
- * https://rolisteam.org/contact *
- * *
- * 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 DICEPARSER_H
-#define DICEPARSER_H
-
-#include <QJsonObject>
-#include <QMap>
-#include <QString>
-#include <QVariant>
-#include <memory>
-#include <vector>
-
-#include <diceparser/diceparser_global.h>
-
-#include <diceparser/diceparserhelper.h>
-#include <diceparser/highlightdice.h>
-
-class ExplodeDiceNode;
-class ParsingToolBox;
-class DiceRollerNode;
-class DiceAlias;
-class ExecutionNode;
-/**
- * @page DiceParser Dice Parser
- *
- * @section Intro Introduction
- * Diceparser is the software component dedicated to compute dice command in rolisteam.<br/>
- *
- * @section grammar The Grammar
- *
- * The grammar is described in Readme.md
- */
-
-/**
- * @brief The DiceParser class facade class, it receives a command and return a DiceResult class (not yet implemented).
- */
-class DICEPARSER_EXPORT DiceParser
-{
-public:
- /**
- * @brief DiceParser default constructor
- */
- DiceParser();
- /**
- * @brief ~DiceParser
- */
- virtual ~DiceParser();
-
- // Command process methods
- /**
- * @brief parseLine, method to call for starting the dice roll. It will parse the command and run the execution
- * tree.
- * @param str dice command
- * @return bool every thing is fine or not
- */
- bool parseLine(QString str, bool allowAlias= true);
- void start();
- void cleanAll();
-
- // debug
- void writeDownDotTree(QString filepath);
-
- // control methods
- bool hasIntegerResultNotInFirst() const;
- bool hasDiceResult() const;
- bool hasStringResult() const;
- bool hasSeparator() const;
-
- // alias management
- const QList<DiceAlias*>& constAliases() const;
- QList<DiceAlias*>* aliases() const;
- void cleanAliases();
- void insertAlias(DiceAlias*, int);
- QString convertAlias(const QString& cmd) const;
-
- QStringList allFirstResultAsString(bool& hasAlias);
- QStringList getAllDiceResult(bool& hasAlias);
-
- // Accessors
- int startNodeCount() const;
- QList<qreal> scalarResultsFromEachInstruction() const;
- QStringList stringResultFromEachInstruction(bool& hasAlias) const;
- void diceResultFromEachInstruction(QList<ExportedDiceResult>& resultList) const;
- QString finalStringResult(std::function<QString(const QString&, const QString&, bool)> colorize) const;
-
- QString diceCommand() const;
- QMap<Dice::ERROR_CODE, QString> errorMap() const;
- QString comment() const;
- QString humanReadableWarning() const;
- QString humanReadableError() const;
- QString resultAsJSon(std::function<QString(const QString&, const QString&, bool)> colorize,
- bool removeUnhighligthed= false) const;
-
- // QStringList stringResult() const;
- // QStringList allDiceResult(bool& hasAlias) const;
- // void lastDiceResult(QList<ExportedDiceResult>& diceValues, bool& homogeneous) const;
-
- // setters
- void setPathToHelp(QString l);
- void setVariableDictionary(const QHash<QString, QString>& variables);
- void setComment(const QString& comment);
-
-private:
- bool readBlocInstruction(QString& str, ExecutionNode*& resultnode);
-
-private:
- std::unique_ptr<ParsingToolBox> m_parsingToolbox;
- QString m_command;
-};
-
-#endif // DICEPARSER_H