mie: implement a printer system for converting IR to textual form

This commit is contained in:
2026-01-12 10:33:08 +00:00
parent 826380ea34
commit 49df8616a8
24 changed files with 511 additions and 108 deletions

View File

@@ -3,15 +3,16 @@
#include <mie/dialect/builtin.h>
#include <mie/dialect/dialect.h>
#include <mie/macros.h>
#include <mie/print/printer.h>
#include <mie/type/type-definition.h>
#include <mie/type/type.h>
#include <mie/value.h>
static enum mie_status value_print(
const struct mie_type *ty, const struct mie_value *value, b_stream *out)
const struct mie_value *value, struct mie_printer *out)
{
const struct mie_string *str = (const struct mie_string *)value;
b_stream_write_fmt(out, NULL, "\"%s\"", str->str_val);
b_stream_write_fmt(out->p_stream, NULL, "\"%s\"", str->str_val);
return MIE_SUCCESS;
}
@@ -21,9 +22,7 @@ static void type_init(
type->ty_instance_size = sizeof(struct mie_string);
}
static enum mie_status print(
const struct mie_type_definition *def, const struct mie_type *ty,
b_stream *out)
static enum mie_status print(const struct mie_type *ty, struct mie_printer *out)
{
return MIE_SUCCESS;
}