26 lines
818 B
C
26 lines
818 B
C
#pragma once
|
|
|
|
#include "report.h"
|
|
#include "resolve.h"
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#include <stdio.h>
|
|
|
|
typedef struct HeaderBuilder HeaderBuilder;
|
|
|
|
HeaderBuilder* header_builder_new(void);
|
|
void header_builder_free(HeaderBuilder* builder);
|
|
void header_builder_add_global_sym(
|
|
HeaderBuilder* builder, char* ident, Loc loc, uint16_t ip);
|
|
void header_builder_add_extern_sym(
|
|
HeaderBuilder* builder, size_t id, char* ident);
|
|
void header_builder_add_extern_ref(
|
|
HeaderBuilder* builder, size_t id, uint16_t ip);
|
|
int header_builder_resolve_global_syms(
|
|
HeaderBuilder* builder, IdentResolver* resolver, Reporter* rep);
|
|
int header_builder_write(const HeaderBuilder* builder,
|
|
FILE* fp,
|
|
size_t* total_written,
|
|
const char* filename);
|
|
void header_builder_print(const HeaderBuilder* builder);
|