DEADSOFTWARE

Изменение структуры проекта
[dsw-obn.git] / src / backends / dummy / generator-libgccjit.c
1 #include <string.h>
2 #include <assert.h>
4 #include <gc.h>
6 #include "../../../include/oberon.h"
7 #include "../../oberon-internals.h"
8 #include "generator-libgccjit.h"
10 void
11 oberon_generator_init_context(oberon_context_t * ctx)
12 {
13 gen_context_t * gen_context = GC_MALLOC(sizeof *gen_context);
14 memset(gen_context, 0, sizeof *gen_context);
16 ctx -> gen_context = gen_context;
17 }
19 void
20 oberon_generator_destroy_context(oberon_context_t * ctx)
21 {
22 ctx -> gen_context = NULL;
23 }
25 void
26 oberon_generator_init_type(oberon_context_t * ctx, oberon_type_t * type)
27 {
28 type -> gen_type = NULL;
29 }
31 void
32 oberon_generator_init_record(oberon_context_t * ctx, oberon_type_t * type)
33 {
34 assert(type -> class == OBERON_TYPE_RECORD);
35 // init record fields
36 }
38 void
39 oberon_generator_init_var(oberon_context_t * ctx, oberon_object_t * var)
40 {
41 var -> gen_var = NULL;
42 }
44 void
45 oberon_generator_init_proc(oberon_context_t * ctx, oberon_object_t * proc)
46 {
47 proc -> gen_proc = NULL;
48 }
50 // =======================================================================
51 // GENERATOR
52 // =======================================================================
54 void
55 oberon_generate_begin_module(oberon_context_t * ctx)
56 {
58 }
60 void
61 oberon_generate_end_module(oberon_context_t * ctx)
62 {
64 }
66 void
67 oberon_generate_begin_proc(oberon_context_t * ctx, oberon_object_t * proc)
68 {
70 }
72 void
73 oberon_generate_call_proc(oberon_context_t * ctx, oberon_expr_t * desig)
74 {
76 }
78 void
79 oberon_generate_end_proc(oberon_context_t * ctx)
80 {
82 }
84 void
85 oberon_generate_return(oberon_context_t * ctx, oberon_expr_t * expr)
86 {
88 }
90 void
91 oberon_generate_assign(oberon_context_t * ctx, oberon_expr_t * src, oberon_expr_t * dst)
92 {
94 }
96 void
97 oberon_generate_code(oberon_context_t * ctx)
98 {
102 void
103 oberon_generator_dump(oberon_context_t * ctx, char * path)
108 void *
109 oberon_generator_get_procedure(oberon_context_t * ctx, const char * name)
111 return NULL;
114 void *
115 oberon_generator_get_var(oberon_context_t * ctx, const char * name)
117 return NULL;