From 45ab288c8256f2787e7bf694c7a48888592be4cd Mon Sep 17 00:00:00 2001 From: Barattero Laurent Date: Sat, 18 Jan 2014 10:24:55 +0100 Subject: first commit release 0.2 --- src/rules.hpp | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/rules.hpp (limited to 'src/rules.hpp') diff --git a/src/rules.hpp b/src/rules.hpp new file mode 100644 index 0000000..a658fce --- /dev/null +++ b/src/rules.hpp @@ -0,0 +1,94 @@ +/* + Copyright (C) 2014 BARRATERO Laurent + + AeroUp 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 3 of the License, or + (at your option) any later version. + + Aeroup 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., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +/* + * Filename: rules.hpp + * + * Description: + * + * Version: 0.2 + * Created: 31/12/2013 18:32:35 + * Revision: none + * Compiler: gcc + * + * Author: BARATTERO Laurent, laurentbalarueluberlu.net + * Organization: La rue Luberlu + */ + +#ifndef rules_INC +#define rules_INC +#include "ruleserror.hpp" +#include "define_ultimate_fct.h" +#include +#include "global.hpp" +/* + * Class: Rules + * Description: + */ +class Rules +{ + public: + Rules (std::string gloFileName); /* constructor */ + void twiceDefsubError(int nb_line); + void noDefsubError(std::string sub_name); + + bool isStandardCmdPossible(int nb_line, int fct=0); + bool isDefsubCmdPossible(); + bool isEndPossible(); + bool isSeqOk(); + + /* END */ + void setEnd(int nb_line); + + /* DEFSUB */ + void setDefsub(int nb_line); + void unsetDefsub(int nb_line); + void endTestDefsub(); + + /* LOOP */ + void setloop(int nb_line); + void unsetloop(int nb_line); + + private: + struct defsub + { + bool on = false; + int line = 0; + } ; + + int defsub_cout = 0; + int loop_count = 0; + bool end = false; + std::string fileName; + std::vector FctVectStr = { + "'C command'", + "'D command'", + "'RAMP command'", + "'L command'", + "'E command'", + "'R command'", + "'G command'", + "'B command'", + "'SUB command'", + "'DEFSUB command'", + "'ENDSUB command'", + "'END command'" + }; +}; /* ----- end of class Rules ----- */ + +#endif /* ----- #ifndef rules_INC ----- */ -- cgit v1.2.3