diff options
author | bloodstalker <thabogre@gmail.com> | 2017-06-22 17:09:55 +0000 |
---|---|---|
committer | bloodstalker <thabogre@gmail.com> | 2017-06-22 17:09:55 +0000 |
commit | 0ba173ffb5cb64ab90c64ca5c3c687ceec9f2b9f (patch) | |
tree | f6e247b47a9931b283d1702be2251639ea4c775a /bruiser/mutagen.h | |
parent | fixed the help function, added a general read xml comand (diff) | |
download | mutator-0ba173ffb5cb64ab90c64ca5c3c687ceec9f2b9f.tar.gz mutator-0ba173ffb5cb64ab90c64ca5c3c687ceec9f2b9f.zip |
mutation hosts
Diffstat (limited to 'bruiser/mutagen.h')
-rw-r--r-- | bruiser/mutagen.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/bruiser/mutagen.h b/bruiser/mutagen.h new file mode 100644 index 0000000..0488dcb --- /dev/null +++ b/bruiser/mutagen.h @@ -0,0 +1,84 @@ + +/***************************************************Project Mutator****************************************************/ +//-*-c++-*- +/*first line intentionally left blank.*/ +/*the header for bruiser's mutation facilities.*/ +/*Copyright (C) 2017 Farzad Sadeghi + +This program 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.*/ +/*code structure inspired by Eli Bendersky's tutorial on Rewriters.*/ +/**********************************************************************************************************************/ +/*inclusion guard*/ +#ifndef MUTAGEN_H +#define MUTAGEN_H +/**********************************************************************************************************************/ +/*included modules*/ +/*project headers*/ +/*standard library headers*/ +#include <vector> +/*clang headers*/ +/*llvm headers*/ + +/**********************************************************************************************************************/ +/*using*/ +/**********************************************************************************************************************/ +namespace mutagen +{ +/*enums*/ + /** + * @brief Gene Kinds. + */ + enum class DoomKind {UnidentifiedGene, + CStyleCastExpr, ExplicitCastExpr, ImplicitCastExpr, + Stmt, CompoundStmt, LoopStmt, ForStmt, WhileStmt, IfStmt, ElseStmt, DoStmt, SwitchStmt, CaseStmt, + Decl, FunctionDecl, ClassDecl, VarDecl, RecordDecl, ArrayDecl, StructDecl, UnionDecl, VectorDecl, + MapDecl, UnorderedMapDecl, MemberFunctionDecl, TemplateDecl, ClassTemplateDecl, ParmVarDecl + }; +/**********************************************************************************************************************/ +class Amino +{ + public: + + private: +}; +/**********************************************************************************************************************/ +/** + * @brief A container class for the bad genes + */ +class DoomedStrain +{ + public: + DoomedStrain() {} + ~DoomedStrain() {} + + private: + std::vector<Amino> Aminos; +}; +/**********************************************************************************************************************/ +class Ancestry +{ + public: + Ancestry() {} + ~Ancestry(); + + private: + +}; +/**********************************************************************************************************************/ +} //end of namespace mutagen +/**********************************************************************************************************************/ +#endif //end of mutagen header +/*last line intentionally left balnk*/ + |