18 lines
410 B
C
18 lines
410 B
C
|
|
#ifndef RAVA_LABELTABLE_H
|
||
|
|
#define RAVA_LABELTABLE_H
|
||
|
|
|
||
|
|
#include <stddef.h>
|
||
|
|
#include <stdint.h>
|
||
|
|
#include "../ir/ir.h"
|
||
|
|
|
||
|
|
typedef struct LabelTable_s {
|
||
|
|
int* label_to_pc;
|
||
|
|
size_t max_label_id;
|
||
|
|
} LabelTable_t;
|
||
|
|
|
||
|
|
LabelTable_t* rava_labeltable_create(RavaInstructionList_t* instructions);
|
||
|
|
void rava_labeltable_destroy(LabelTable_t* table);
|
||
|
|
size_t rava_labeltable_lookup(LabelTable_t* table, int label_id);
|
||
|
|
|
||
|
|
#endif
|