roza/lib/prepass.h

33 lines
580 B
C
Raw Normal View History

2023-12-11 17:01:22 +00:00
#ifndef RZ_PREPASS_H
#define RZ_PREPASS_H
#include "commons.h"
#include "err.h"
#include "node.h"
#include "sym.h"
#include "tysolver.h"
2023-12-20 19:54:58 +00:00
#include "tysy.h"
2023-12-11 17:01:22 +00:00
typedef struct {
sym_t* sym;
2023-12-20 19:54:58 +00:00
tysy_t* tysy;
tysolver_t* tysolver;
2023-12-11 17:01:22 +00:00
err_t* err;
2023-12-23 20:17:12 +00:00
int* id;
int scope;
2023-12-11 17:01:22 +00:00
} prepass_t;
void prepass_init(prepass_t* prepass,
2023-12-23 20:17:12 +00:00
int* id,
sym_t* sym,
2023-12-20 19:54:58 +00:00
tysy_t* tysy,
tysolver_t* tysolver,
err_t* err);
2023-12-11 17:01:22 +00:00
void prepass_free(prepass_t* prepass);
void prepass_run(prepass_t* prepass, node_t* node);
#endif