00001
00012 #ifndef __PROC_H__
00013 #define __PROC_H__
00014
00015 #include <gtk/gtk.h>
00016 #include "class.h"
00017 #include "instr.h"
00018 #include "variable.h"
00019
00020
00021 struct s_proc {
00022 struct s_class class;
00024 gchar *name;
00025 GSList *instructions,
00026 *parameters,
00027 *variables;
00029 GSList *contexts;
00030 };
00031
00032
00033 #define PROC(class) ((struct s_proc *)class)
00034 #define PROC_TYPE(const) CLASS_TYPE(const)
00035
00036 #define proc_free(proc) (proc_free_from_list(proc, NULL))
00037
00038
00039 struct s_proc *proc_alloc(gchar *);
00040 void proc_free_from_list(gpointer, gpointer);
00041 gint proc_comparison(gconstpointer, gconstpointer);
00042
00043 #ifdef DEBUG
00044 void proc_debug(gpointer, gpointer);
00045 #endif
00046 #endif