diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-12-12 18:38:53 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-12-12 18:38:53 (GMT) |
commit | 3754a5e3edeea98ce426b65772708ae91b291c1f (patch) | |
tree | e292aa254f59e61f6f9672b826f08be6f428ffdd /src/decomp/output.c | |
parent | dcc0438ff24efd5958b8d46940eb395ff2b7ed77 (diff) |
Removed most of the code related to non-working decompilation.
Diffstat (limited to 'src/decomp/output.c')
-rw-r--r-- | src/decomp/output.c | 483 |
1 files changed, 0 insertions, 483 deletions
diff --git a/src/decomp/output.c b/src/decomp/output.c deleted file mode 100644 index 52bf9f7..0000000 --- a/src/decomp/output.c +++ /dev/null @@ -1,483 +0,0 @@ - -/* Chrysalide - Outil d'analyse de fichiers binaires - * output.c - sorties en langage de programmation - * - * Copyright (C) 2010-2013 Cyrille Bagard - * - * This file is part of Chrysalide. - * - * Chrysalide 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. - * - * Chrysalide 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 Foobar. If not, see <http://www.gnu.org/licenses/>. - */ - - -#include "output.h" - - -#include "output-int.h" -#include "../analysis/type.h" /* TODO : remme */ - - - -/* Indique le type défini pour une sortie de langage de programmation. */ -G_DEFINE_TYPE(GLangOutput, g_lang_output, G_TYPE_OBJECT); - - -/****************************************************************************** -* * -* Paramètres : klass = classe à initialiser. * -* * -* Description : Initialise la classe des sorties en langage de programmation.* -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_lang_output_class_init(GLangOutputClass *klass) -{ - -} - - -/****************************************************************************** -* * -* Paramètres : output = instance à initialiser. * -* * -* Description : Initialise une instance de sortie en langage de prog. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -static void g_lang_output_init(GLangOutput *output) -{ - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* * -* Description : Marque le début d'une série de commentaires. * -* * -* Retour : Nouvelle ligne constituée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_start_comments(GLangOutput *output, GCodeBuffer *buffer) -{ - GBufferLine *result; /* Adresse nouvelle à remonter */ - - if (output->start_comments != NULL) - result = output->start_comments(output, buffer); - - else result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* text = texte à insérer dans l'existant. * -* length = taille du texte à traiter. * -* * -* Description : Poursuit l'ajout d'une ligne de commentaires. * -* * -* Retour : Ligne nouvellement créée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_continue_comments(GLangOutput *output, GCodeBuffer *buffer, const char *text, size_t length) -{ - GBufferLine *result; /* Adresse nouvelle à remonter */ - - if (output->cont_comments != NULL) - result = output->cont_comments(output, buffer, text, length); - - else result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* * -* Description : Marque la fin d'une série de commentaires. * -* * -* Retour : Nouvelle ligne constituée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_end_comments(GLangOutput *output, GCodeBuffer *buffer) -{ - GBufferLine *result; /* Adresse nouvelle à remonter */ - - if (output->end_comments != NULL) - result = output->end_comments(output, buffer); - - else result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* text = texte à insérer dans l'existant. * -* length = taille du texte à traiter. * -* * -* Description : Ajoute un commentaire à un tampon donné. * -* * -* Retour : Ligne nouvellement créée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_write_comments(GLangOutput *output, GCodeBuffer *buffer, const char *text, size_t length) -{ - GBufferLine *result; /* Adresse nouvelle à remonter */ - - if (output->write_comments != NULL) - result = output->write_comments(output, buffer, text, length); - - else result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* line = tampon de sortie à disposition. * -* sign = méthode de comparaison à imprimer. * -* * -* Description : Imprime dans un tampon donné une méthode de comparaison. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_lang_output_write_comp_sign(GLangOutput *output, GBufferLine *line, CompSignType sign) -{ - if (output->comp_sign != NULL) - output->comp_sign(output, line, sign); - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* line = tampon de sortie à disposition. * -* op = opérateur logique à imprimer. * -* * -* Description : Imprime dans un tampon donné un opérateur logique. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_lang_output_write_cond_operator(GLangOutput *output, GBufferLine *line, CondOperatorType op) -{ - if (output->cond_op != NULL) - output->cond_op(output, line, op); - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* type = désignation de la classe à définir. * -* * -* Description : Débute la définition d'une classe. * -* * -* Retour : Ligne nouvellement créée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_start_class(GLangOutput *output, GCodeBuffer *buffer, const void *type) -{ - GBufferLine *result; /* Adresse nouvelle à remonter */ - - if (output->start_class != NULL) - result = output->start_class(output, buffer, (const GDataType *)type); - - else result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* * -* Description : Termine la définition d'une classe. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_lang_output_end_class(GLangOutput *output, GCodeBuffer *buffer) -{ - if (output->end_class != NULL) - output->end_class(output, buffer); - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* * -* Description : Débute la documentation d'une routine. * -* * -* Retour : Ligne nouvellement créée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_start_routine_info(const GLangOutput *output, GCodeBuffer *buffer) -{ - GBufferLine *result; /* Adresse nouvelle à remonter */ - - if (output->start_routine_proto != NULL) - { - result = output->start_info(output, buffer); - g_buffer_line_start_merge_at(result, BLC_LAST_USED); - } - else result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* ret = type de retour de la routine traitée. * -* * -* Description : Débute la définition d'une routine. * -* * -* Retour : Ligne nouvellement créée. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_start_routine_prototype(GLangOutput *output, GCodeBuffer *buffer, const void *ret) -{ - GBufferLine *result; /* Adresse nouvelle à remonter */ - - if (output->start_routine_proto != NULL) - result = output->start_routine_proto(output, buffer, ret); - - else result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* line = ligne contenant le prototype de la routine traitée. * -* * -* Description : Termine la définition d'une routine. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_lang_output_end_routine_prototype(GLangOutput *output, GCodeBuffer *buffer, GBufferLine *line) -{ - if (output->end_routine_proto != NULL) - output->end_routine_proto(output, buffer, line); - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* line = ligne contenant le prototype de la routine traitée. * -* * -* Description : Commence la définition du corps d'une routine. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_lang_output_start_routine_body(GLangOutput *output, GCodeBuffer *buffer, GBufferLine *line) -{ - if (output->start_routine_body != NULL) - output->start_routine_body(output, buffer, line); - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* * -* Description : Termine la définition du corps d'une routine. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -void g_lang_output_end_routine_body(GLangOutput *output, GCodeBuffer *buffer) -{ - if (output->end_routine_body != NULL) - output->end_routine_body(output, buffer); - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* line = ligne contenant le prototype de la routine traitée. * -* count = nombre d'éléments du bloc. * -* * -* Description : Commence la définition d'un bloc de code. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_start_code_block(GLangOutput *output, GCodeBuffer *buffer, GBufferLine *line, size_t count) -{ - GBufferLine *result; /* Nouvelle ligne à utiliser */ - - if (output->start_code_block != NULL) - result = output->start_code_block(output, buffer, line, count); - else - result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* line = ligne contenant le prototype de la routine traitée. * -* count = nombre d'éléments du bloc. * -* * -* Description : Termine la définition d'un bloc de code. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_end_code_block(GLangOutput *output, GCodeBuffer *buffer, GBufferLine *line, size_t count) -{ - GBufferLine *result; /* Nouvelle ligne à utiliser */ - - if (output->end_code_block != NULL) - result = output->end_code_block(output, buffer, line, count); - else - result = NULL; - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : output = encadrant de l'impression en langage de prog. * -* buffer = tampon de sortie à disposition. * -* line = ligne contenant le prototype de la routine traitée.* -* opening = précise si la condition débute ou se termine. * -* * -* Description : Emballe une expression conditionelle. * -* * -* Retour : - * -* * -* Remarques : - * -* * -******************************************************************************/ - -GBufferLine *g_lang_output_encapsulate_condition(GLangOutput *output, GCodeBuffer *buffer, GBufferLine *line, bool opening) -{ - GBufferLine *result; /* Nouvelle ligne à utiliser */ - - if (output->encaps_cond != NULL) - result = output->encaps_cond(output, buffer, line, opening); - else - result = NULL; - - return result; - -} |