roza/lib/prepass.h

33 lines
580 B
C

#ifndef RZ_PREPASS_H
#define RZ_PREPASS_H
#include "commons.h"
#include "err.h"
#include "node.h"
#include "sym.h"
#include "tysolver.h"
#include "tysy.h"
typedef struct {
sym_t* sym;
tysy_t* tysy;
tysolver_t* tysolver;
err_t* err;
int* id;
int scope;
} prepass_t;
void prepass_init(prepass_t* prepass,
int* id,
sym_t* sym,
tysy_t* tysy,
tysolver_t* tysolver,
err_t* err);
void prepass_free(prepass_t* prepass);
void prepass_run(prepass_t* prepass, node_t* node);
#endif