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()