From 0277931ca12ee8053c1d21ce3461e220221a7219 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Fri, 23 Jan 2026 23:22:47 +0000 Subject: [PATCH] mie: builtin: implement lots of print and emit functions --- mie/dialect/builtin/builtin.c | 12 ++++++------ mie/dialect/builtin/op/module.c | 2 ++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/mie/dialect/builtin/builtin.c b/mie/dialect/builtin/builtin.c index afba27c..0141ebd 100644 --- a/mie/dialect/builtin/builtin.c +++ b/mie/dialect/builtin/builtin.c @@ -84,17 +84,17 @@ struct mie_attribute *mie_ctx_get_index(struct mie_ctx *ctx, size_t val) MIE_DIALECT_BEGIN(mie_builtin, struct builtin_dialect, "builtin") MIE_DIALECT_INIT(init); MIE_DIALECT_CLEANUP(cleanup); - MIE_DIALECT_ADD_OP(mie_builtin_module); - MIE_DIALECT_ADD_TYPE(mie_builtin_string); + MIE_DIALECT_ADD_TRAIT(mie_builtin_isolated_from_above); + MIE_DIALECT_ADD_TRAIT(mie_builtin_symbol_table); MIE_DIALECT_ADD_TYPE(mie_builtin_int); MIE_DIALECT_ADD_TYPE(mie_builtin_float); MIE_DIALECT_ADD_TYPE(mie_builtin_index); - MIE_DIALECT_ADD_ATTRIBUTE(mie_builtin_string); + MIE_DIALECT_ADD_TYPE(mie_builtin_string); MIE_DIALECT_ADD_ATTRIBUTE(mie_builtin_int); MIE_DIALECT_ADD_ATTRIBUTE(mie_builtin_float); - MIE_DIALECT_ADD_ATTRIBUTE(mie_builtin_array); MIE_DIALECT_ADD_ATTRIBUTE(mie_builtin_type); - MIE_DIALECT_ADD_TRAIT(mie_builtin_isolated_from_above); - MIE_DIALECT_ADD_TRAIT(mie_builtin_symbol_table); + MIE_DIALECT_ADD_ATTRIBUTE(mie_builtin_string); MIE_DIALECT_ADD_INTERFACE(mie_builtin_symbol); + MIE_DIALECT_ADD_ATTRIBUTE(mie_builtin_array); + MIE_DIALECT_ADD_OP(mie_builtin_module); MIE_DIALECT_END() diff --git a/mie/dialect/builtin/op/module.c b/mie/dialect/builtin/op/module.c index 6d449ce..5dd9481 100644 --- a/mie/dialect/builtin/op/module.c +++ b/mie/dialect/builtin/op/module.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -26,4 +27,5 @@ static enum mie_status parse(struct mie_parser *parser, struct mie_op *out) MIE_OP_DEFINITION_BEGIN(mie_builtin_module, "module") MIE_OP_DEFINITION_PRINT(print); MIE_OP_DEFINITION_PARSE(parse); + MIE_OP_DEFINITION_TRAIT("builtin", "isolated-from-above"); MIE_OP_DEFINITION_END()