DEADSOFTWARE

6b97e0d53fe74962bb42c0f7189fd0526d417ce5
[dsw-obn.git] / generator.h
1 /*
2 * Функции инициализации контекста и объектов
3 */
5 void oberon_generator_init_context(oberon_context_t * ctx);
6 void oberon_generator_init_type(oberon_context_t * ctx, oberon_type_t * type);
7 void oberon_generator_init_var(oberon_context_t * ctx, oberon_object_t * var);
8 void oberon_generator_init_proc(oberon_context_t * ctx, oberon_object_t * proc);
9 void oberon_generator_destroy_context(oberon_context_t * ctx);
11 /*
12 * Функции генерации тела модуля
13 */
15 void oberon_generate_begin_module(oberon_context_t * ctx);
16 void oberon_generate_end_module(oberon_context_t * ctx);
18 /*
19 * Функции генерации и вызова процедур
20 */
22 void oberon_generate_begin_proc(oberon_context_t * ctx, oberon_object_t * proc);
23 void oberon_generate_end_proc(oberon_context_t * ctx);
24 void oberon_generate_call_proc(oberon_context_t * ctx, oberon_expr_t * desig);
26 /*
27 * Функции генерации операторов
28 */
30 void oberon_generate_assign(oberon_context_t * ctx, oberon_expr_t * src, oberon_expr_t * dst);
32 /*
33 * Функции генерации кода
34 */
36 void oberon_generate_code(oberon_context_t * ctx);