summaryrefslogtreecommitdiff
path: root/tools/d2c/args.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-01-28 23:32:25 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-01-28 23:32:25 (GMT)
commit16e0fd9d89ef433848678dfc8dd20426844a2868 (patch)
tree79075ae02c133cea21ffb555b1086aae833b3aac /tools/d2c/args.h
parent66c99d59d6a6d533de0bb65488de8243213bcdea (diff)
Cleaned, rewritten and improved the whole code of the compiler.
Diffstat (limited to 'tools/d2c/args.h')
-rw-r--r--tools/d2c/args.h138
1 files changed, 0 insertions, 138 deletions
diff --git a/tools/d2c/args.h b/tools/d2c/args.h
deleted file mode 100644
index b9f210b..0000000
--- a/tools/d2c/args.h
+++ /dev/null
@@ -1,138 +0,0 @@
-
-/* Chrysalide - Outil d'analyse de fichiers binaires
- * args.h - prototypes pour la gestion des arguments dans leur ensemble
- *
- * Copyright (C) 2015 Cyrille Bagard
- *
- * This file is part of Chrysalide.
- *
- * OpenIDA 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.
- *
- * OpenIDA 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/>.
- */
-
-
-#ifndef _TOOLS_ARGS_H
-#define _TOOLS_ARGS_H
-
-
-#include "bits.h"
-#include "pproc.h"
-
-
-/* Liste des fonctions de conversions présentes */
-typedef struct _conv_list conv_list;
-
-
-
-/* -------------------------- REPRESENTATION D'UN ARGUMENT -------------------------- */
-
-
-/* Types d'opérations unaires */
-typedef enum _ConvUnaryOperation
-{
- CUO_NOT, /* NOT (booléen) */
-
- CUO_COUNT
-
-} ConvUnaryOperation;
-
-/* Types d'opérations binaires */
-typedef enum _ConvBinaryOperation
-{
- CBO_AND, /* Et logique */
- CBO_EOR, /* Ou exclusif (booléen) */
-
- CBO_COUNT
-
-} ConvBinaryOperation;
-
-
-/* Représentation d'une expression de conversion */
-typedef struct _arg_expr_t arg_expr_t;
-
-
-/* Référence une variable en tant qu'expression de conversion. */
-arg_expr_t *build_arg_expr_from_name(char *);
-
-/* Conserve une valeur en tant qu'expression de conversion. */
-arg_expr_t *build_arg_expr_from_number(unsigned long );
-
-/* Conserve une valeur en tant qu'expression de conversion. */
-arg_expr_t *build_arg_expr_from_binval(char *);
-
-/* Conserve une valeur en tant qu'expression de conversion. */
-arg_expr_t *build_arg_expr_from_hexval(char *);
-
-/* Construit une base d'expression de conversion composée. */
-arg_expr_t *build_composed_arg_expr(char *, char *);
-
-/* Etend une base d'expression de conversion composée. */
-arg_expr_t *extend_composed_arg_expr(arg_expr_t *, char *);
-
-/* Traduit une opération unaire sur expression de conversion. */
-arg_expr_t *build_unary_arg_expr(arg_expr_t *, ConvUnaryOperation);
-
-/* Traduit une opération binaire sur expression de conversion. */
-arg_expr_t *build_binary_arg_expr(arg_expr_t *, arg_expr_t *, ConvBinaryOperation);
-
-/* Supprime tous les éléments mis en place pour un argument. */
-void delete_arg_expr(arg_expr_t *);
-
-/* Détermine la taille en bits d'une expression donnée. */
-bool compute_arg_expr_size(const arg_expr_t *, const coding_bits *, const conv_list *, unsigned int *);
-
-/* S'assure du marquage des expressions pre-requises. */
-bool ensure_arg_expr_content_fully_marked(arg_expr_t *, const coding_bits *, const conv_list *);
-
-/* S'assure de la déclaration des expressions pre-requises. */
-bool ensure_arg_expr_content_fully_declared(arg_expr_t *, int, const coding_bits *, const conv_list *, unsigned int);
-
-/* S'assure de la définition des expressions pre-requises. */
-bool ensure_arg_expr_content_fully_defined(arg_expr_t *, int, const char *, const coding_bits *, const conv_list *, const pre_processor *);
-
-/* Définit une expression utilisée dans une conversion. */
-bool define_arg_expr(const arg_expr_t *, int, const coding_bits *, const conv_list *);
-
-
-
-/* ----------------------- MANIPULATION DE LISTES D'ARGUMENTS ----------------------- */
-
-
-/* Liste d'expressions utilisées en arguments de conversion */
-typedef struct _arg_list_t arg_list_t;
-
-
-/* Crée une liste d'arguments de conversion. */
-arg_list_t *build_arg_list(arg_expr_t *);
-
-/* Libère la mémoire occupée par une liste d'expressions. */
-void delete_arg_list(arg_list_t *);
-
-/* Ajoute un élément à une liste d'arguments de conversion. */
-arg_list_t *extend_arg_list(arg_list_t *, arg_expr_t *);
-
-/* S'assure du marquage des expressions pre-requises. */
-bool ensure_arg_list_content_fully_marked(arg_list_t *, const coding_bits *, const conv_list *);
-
-/* S'assure de la déclaration des expressions pre-requises. */
-bool ensure_arg_list_content_fully_declared(arg_list_t *, int, const coding_bits *, const conv_list *, unsigned int);
-
-/* S'assure de la définition des expressions pre-requises. */
-bool ensure_arg_list_content_fully_defined(arg_list_t *, int, const char *, const coding_bits *, const conv_list *, const pre_processor *);
-
-/* Définit les variables associées à un appel de fonction. */
-bool define_arg_list(const arg_list_t *, int, const coding_bits *, const conv_list *);
-
-
-
-#endif /* _TOOLS_ARGS_H */