diff options
Diffstat (limited to 'bruiser')
-rw-r--r-- | bruiser/mutagen.cpp | 31 | ||||
-rw-r--r-- | bruiser/mutagen.h | 84 |
2 files changed, 115 insertions, 0 deletions
diff --git a/bruiser/mutagen.cpp b/bruiser/mutagen.cpp new file mode 100644 index 0000000..46c5738 --- /dev/null +++ b/bruiser/mutagen.cpp @@ -0,0 +1,31 @@ + +/***************************************************Project Mutator****************************************************/ +//-*-c++-*- +/*first line intentionally left blank.*/ +/*the source code 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.*/ +/**********************************************************************************************************************/ +/*included modules*/ +#include "mutagen.h" +/*project headers*/ +/*standard headers*/ +/*LLVM headers*/ +/*other*/ +/**********************************************************************************************************************/ +/**********************************************************************************************************************/ +/*last line intentionally left blank*/ + 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*/ + |