summaryrefslogtreecommitdiff
path: root/src/mangling/java_gram.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/mangling/java_gram.y')
-rw-r--r--src/mangling/java_gram.y279
1 files changed, 0 insertions, 279 deletions
diff --git a/src/mangling/java_gram.y b/src/mangling/java_gram.y
deleted file mode 100644
index 9f167c2..0000000
--- a/src/mangling/java_gram.y
+++ /dev/null
@@ -1,279 +0,0 @@
-
-%{
-
-
-
-#include "context-int.h"
-#include "java.h"
-#include "../analysis/types/cse.h"
-
-
-
-/* ------------------------- CONTEXTE POUR LE DECODAGE JAVA ------------------------- */
-
-
-#define G_TYPE_JAVA_DCONTEXT g_java_dcontext_get_type()
-#define G_JAVA_DCONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), g_java_dcontext_get_type(), GJavaDContext))
-#define G_IS_JAVA_DCONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), g_java_dcontext_get_type()))
-#define G_JAVA_DCONTEXT_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE((inst), g_java_dcontext_get_type(), GJavaDContextIface))
-#define G_JAVA_DCONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), G_TYPE_JAVA_DCONTEXT, GJavaDContextClass))
-
-
-/* Contexte de décodage Java (instance) */
-struct _GJavaDContext
-{
- GDemanglingContext parent; /* A laisser en premier */
-
-};
-
-/* Contexte de décodage Java (classe) */
-struct _GJavaDContextClass
-{
- GDemanglingContextClass parent; /* A laisser en premier */
-
-};
-
-
-/* Indique le type défini pour un contexte de décodage. */
-static GType g_java_dcontext_get_type(void);
-
-/* Initialise la classe des contextes de décodage. */
-static void g_java_dcontext_class_init(GJavaDContextClass *);
-
-/* Initialise une instance de contexte pour décodage. */
-static void g_java_dcontext_init(GJavaDContext *);
-
-/* Affiche un message d'erreur concernant l'analyse. */
-static int java_error(/*const YYLTYPE *yyloc, bool hunt, char **ucode, unsigned char *index, */GJavaDContext *, char *);
-
-
-
-
-
-
-%}
-
-
-%union {
-
- void /*GDataType*/ *type;
-
- size_t adeep; /* Dimension d'un tableau */
-
- char *text; /* Chaîne de caractères */
-
-}
-
-%parse-param { GJavaDContext *context }
-
-%token V Z B S C I J F D
-%token ARRAY
-%token L SEMICOLON
-%token SLASH DOLLAR
-%token TEXT
-
-%type <type> type_descriptor field_type_descriptor non_array_field_type_descriptor full_class_name
-
-%type <text> TEXT
-
-
-%{
-
-/* De lexi.c... */
-/*int yylex(YYSTYPE *, YYLTYPE *);*/
-void java_restart(FILE *);
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-extern YY_BUFFER_STATE java__scan_string(const char *);
-extern void java__delete_buffer(YY_BUFFER_STATE);
-
- extern int java_lex (void);
-
-
-/* Affiche un message d'erreur concernant l'analyse. */
-/*int yyerror(const YYLTYPE *, bool, char **, unsigned char *, char *);*/
-
-%}
-
-
-%%
-
-
-input:
- type_descriptor { G_DEMANGLING_CONTEXT(context)->type = $1; }
- ;
-
-type_descriptor:
- V { $$ = g_basic_type_new(BTP_VOID); }
- | field_type_descriptor { $$ = $1; }
- ;
-
-field_type_descriptor:
- non_array_field_type_descriptor { $$ = $1; }
- | ARRAY non_array_field_type_descriptor { $$ = $2; }
- ;
-
-non_array_field_type_descriptor:
- Z { $$ = g_basic_type_new(BTP_BOOL); }
- | B { $$ = g_basic_type_new(BTP_UCHAR); }
- | S { $$ = g_basic_type_new(BTP_SHORT); }
- | C { $$ = g_basic_type_new(BTP_CHAR); }
- | I { $$ = g_basic_type_new(BTP_INT); }
- | J { $$ = g_basic_type_new(BTP_LONG); }
- | F { $$ = g_basic_type_new(BTP_FLOAT); }
- | D { $$ = g_basic_type_new(BTP_DOUBLE); }
- | L full_class_name SEMICOLON { $$ = $2; }
- ;
-
-full_class_name:
- TEXT { $$ = g_class_enum_type_new(CET_CLASS, $1); }
- | full_class_name SLASH TEXT {
- $$ = g_class_enum_type_new(CET_CLASS, $3);
- g_data_type_set_namespace($$, $1, ".");
- }
- | full_class_name DOLLAR TEXT {
- $$ = g_class_enum_type_new(CET_CLASS, $3);
- g_data_type_set_namespace($$, $1, ".");
- }
- ;
-
-
-%%
-
-
-
-/* ---------------------------------------------------------------------------------- */
-/* CONTEXTE POUR LE DECODAGE JAVA */
-/* ---------------------------------------------------------------------------------- */
-
-
-/* Indique le type défini pour un contexte de décodage. */
-G_DEFINE_TYPE(GJavaDContext, g_java_dcontext, G_TYPE_DEMANGLING_CONTEXT);
-
-
-/******************************************************************************
-* *
-* Paramètres : klass = classe à initialiser. *
-* *
-* Description : Initialise la classe des contextes de décodage. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static void g_java_dcontext_class_init(GJavaDContextClass *klass)
-{
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : context = instance à initialiser. *
-* *
-* Description : Initialise une instance de contexte pour décodage. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-static void g_java_dcontext_init(GJavaDContext *context)
-{
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : - *
-* *
-* Description : Prépare de quoi effectuer un décodage Java. *
-* *
-* Retour : Instance du contexte mis en place. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-GDemanglingContext *g_java_dcontext_new(void)
-{
- GDemanglingContext *result; /* Structure à retourner */
-
- result = g_object_new(G_TYPE_JAVA_DCONTEXT, NULL);
-
- return result;
-
-}
-
-
-
-/* ---------------------------------------------------------------------------------- */
-/* TRAITEMENT DE L'ENCODAGE TYPE JAVA */
-/* ---------------------------------------------------------------------------------- */
-
-
-
-
-
-
-
-
-
-
-
-
-
-/**
- * Affiche un message d'erreur concernant l'analyse.
- * @param yyloc informations concernant les coordonnées du soucis.
- * @param hunt indique le type de passe réalisée.
- * @param ucode code résultant compilé.
- * @param index indice de commande à mettre à jour.
- * @param msg indications humaines sur l'événement.
- * @return 0.
- */
-static int java_error(/*const YYLTYPE *yyloc, bool hunt, char **ucode, unsigned char *index, */GJavaDContext *context, char *msg)
-{
-
-
-
- fprintf(stderr, "ERREUR !\n");
- fprintf(stderr, "%s\n", msg);
-
- return -1;
-
-}
-
-
-
-
-
-
-/******************************************************************************
-* *
-* Paramètres : context = contexte de décodage à utiliser. *
-* desc = chaîne de caractères à décoder. *
-* *
-* Description : Procède au décodage d'une chaîne de caractères. *
-* *
-* Retour : Bilan de l'opération. *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-bool demangle_java_type(GJavaDContext *context, const char *desc)
-{
- YY_BUFFER_STATE buffer; /* Tampon pour bison */
- int ret; /* Bilan de l'appel */
-
- buffer = java__scan_string(desc);
- ret = yyparse(context);
- java__delete_buffer(buffer);
-
- return (ret == 0);
-
-}