From 7ed106bc79c222586279d4351db1c5f005b0b1f3 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Tue, 24 Mar 2015 21:53:40 +0100 Subject: -Add listaliasnode to list all alias. --- diceparser.cpp | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'diceparser.cpp') diff --git a/diceparser.cpp b/diceparser.cpp index ea6dcc9..56fa72e 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -37,6 +37,7 @@ #include "node/helpnode.h" #include "node/jumpbackwardnode.h" #include "node/listsetrollnode.h" +#include "node/listaliasnode.h" #define DEFAULT_FACES_NUMBER 10 @@ -70,8 +71,9 @@ DiceParser::DiceParser() m_nodeActionMap->insert("@",JumpBackward); - m_commandList = new QList(); + m_commandList = new QStringList(); m_commandList->append("help"); + m_commandList->append("la"); } @@ -126,8 +128,6 @@ bool DiceParser::parseLine(QString str) bool DiceParser::readExpression(QString& str,ExecutionNode* & node) { - // int myNumber = 1; - // bool hasReadNumber=false; ExecutionNode* operandNode=NULL; if(m_parsingToolbox->readOpenParentheses(str)) { @@ -196,13 +196,6 @@ bool DiceParser::readExpression(QString& str,ExecutionNode* & node) } bool DiceParser::readNode(QString& str,ExecutionNode* & node) { - /*k case JumpBackward: - { - JumpBackwardNode* jumpNode = new JumpBackwardNode(); - previous->setNextNode(jumpNode); - node = jumpNode; - isFine=true; - }*/ QString key= str.left(1); if(m_nodeActionMap->contains(key)) { @@ -231,7 +224,6 @@ QString DiceParser::displayResult() next = next->getNextNode(); ++nodeCount; } -// qDebug() << "node count"<< nodeCount; ////////////////////////////////// // // Display @@ -277,7 +269,6 @@ QString DiceParser::displayResult() resulStr+=" ["; foreach(qint64 i, die->getListValue()) { - resulStr+=QString("%1 ").arg(i); } resulStr.remove(resulStr.size()-1,1); @@ -345,7 +336,6 @@ bool DiceParser::readDice(QString& str,ExecutionNode* & node) QStringList list; if(m_parsingToolbox->readList(str,list)) { - qDebug() << list; ListSetRollNode* lsrNode = new ListSetRollNode(); lsrNode->setListValue(list); node = lsrNode; @@ -376,7 +366,14 @@ bool DiceParser::readCommand(QString& str,ExecutionNode* & node) { if(m_commandList->contains(str)) { - node = new HelpNode(); + if(str=="help") + { + node = new HelpNode(); + } + else if(str=="la") + { + node = new ListAliasNode(m_aliasMap); + } return true; } return false; -- cgit v1.2.3-70-g09d2 From 4628051801a5c5297e5bab51d75b28b57b1f5cf5 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Wed, 25 Mar 2015 21:51:54 +0100 Subject: -better comments -add translation feature for diceCommand. --- diceparser.cpp | 6 +++--- diceparser.h | 26 ++++++++++++++++++-------- 2 files changed, 21 insertions(+), 11 deletions(-) (limited to 'diceparser.cpp') diff --git a/diceparser.cpp b/diceparser.cpp index 56fa72e..1e23c6b 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -63,7 +63,7 @@ DiceParser::DiceParser() m_aliasMap = new QMap; m_aliasMap->insert("l5r","D10k"); - m_aliasMap->insert("l5R","D10e10k"); + m_aliasMap->insert("l5R","D10K"); m_aliasMap->insert("nwod","D10e10c[>7]"); m_aliasMap->insert("nwod","D10e10c[>7]"); @@ -72,8 +72,8 @@ DiceParser::DiceParser() m_commandList = new QStringList(); - m_commandList->append("help"); - m_commandList->append("la"); + m_commandList->append(tr("help")); + m_commandList->append(tr("la")); } diff --git a/diceparser.h b/diceparser.h index c4f9f6b..65a8b03 100644 --- a/diceparser.h +++ b/diceparser.h @@ -38,12 +38,16 @@ * * The grammar is something like this: * - * Command =: Expression | ScalarOperator Expression + * Line =: Command | Command;Command + * Command =: Expression | ScalarOperator Expression | ScalarOperator NodeAction Expression * Expression =: number | number Dice | Command - * Dice =: DiceOperator Number(faces) - * DiceOperator =: D + * Dice =: DiceOperator Number(faces) | DiceOperator List + * List =: [Word,Number,',']+ + * NodeAction =: @ + * DiceOperator =: [D,L] * ScalarOperator =: [x,-,*,x,/] * number =: [0-9]+ + * Word =: [A-z]+ * */ @@ -64,14 +68,13 @@ public: * @brief The DiceSymbol enum */ enum NodeAction {JumpBackward}; - - - /** * @brief The OptionOperator enum gathering all options availables for result. */ enum OptionOperator {KeepAndExplose,Keep,Reroll,Explosing,Sort,Count,RerollAndAdd}; + enum CommandOperator {}; + /** * @brief DiceParser default constructor */ @@ -95,9 +98,16 @@ public: * @brief displayResult */ QString displayResult(); - + /** + * @brief readExpression + * @param str + * @param node + * @return + */ bool readExpression(QString& str,ExecutionNode* & node); - + /** + * @brief displayDotTree + */ void displayDotTree(); private: -- cgit v1.2.3-70-g09d2 From 88edfa144f4da3880168a8def910561f5df203a0 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Tue, 31 Mar 2015 23:44:10 +0200 Subject: -add feature to list aliases. --- diceparser.cpp | 4 ++-- main.cpp | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'diceparser.cpp') diff --git a/diceparser.cpp b/diceparser.cpp index 1e23c6b..23e40cd 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -72,8 +72,8 @@ DiceParser::DiceParser() m_commandList = new QStringList(); - m_commandList->append(tr("help")); - m_commandList->append(tr("la")); + m_commandList->append(QObject::tr("help")); + m_commandList->append(QObject::tr("la")); } diff --git a/main.cpp b/main.cpp index 0dac21c..926e3d4 100644 --- a/main.cpp +++ b/main.cpp @@ -83,8 +83,6 @@ int main(int argc, char *argv[]) commands << QString::fromLatin1(argv[i]); } } - - foreach(QString cmd, commands) { if(myParser->parseLine(cmd)) -- cgit v1.2.3-70-g09d2