1 #ifndef EMBEDED_OBERON_SCRIPT_H
2 #define EMBEDED_OBERON_SCRIPT_H
4 typedef struct oberon_var_s oberon_var_t
;
5 typedef struct oberon_type_s oberon_type_t
;
6 typedef struct oberon_proc_s oberon_proc_t
;
7 typedef struct oberon_module_s oberon_module_t
;
8 typedef struct oberon_context_s oberon_context_t
;
43 struct oberon_module_s
48 oberon_proc_t
* procs
;
53 struct oberon_context_s
63 oberon_module_t
* mod
;
64 oberon_type_t
* types
;
66 oberon_type_t
* int_type
;
67 oberon_type_t
* bool_type
;
96 typedef struct oberon_item_s oberon_item_t
;
97 typedef struct oberon_oper_s oberon_oper_t
;
98 typedef union oberon_expr_u oberon_expr_t
;
103 oberon_type_t
* result
;
114 oberon_type_t
* result
;
117 oberon_expr_t
* left
;
118 oberon_expr_t
* right
;
125 oberon_type_t
* result
;
132 oberon_context_t
* oberon_create_context();
133 void oberon_destroy_context(oberon_context_t
* ctx
);
134 void oberon_register_global_type(oberon_context_t
* ctx
, oberon_type_t
* type
);
135 oberon_module_t
* oberon_compile_module(oberon_context_t
* ctx
, const char * code
);
136 void oberon_error(oberon_context_t
* ctx
, const char * fmt
, ...);
138 #endif // EMBEDED_OBERON_SCRIPT_H