>>107564539
>I already do but I prefer using an int in the structs that use it, it makes the size of the field explict.
If you're using gcc, you can do
enum my_enum : uint8_t { /* ... */ };
>It's a common struct shared by all the actual ast node structs.
Ah, makes sense, just was hard to see from the image
>Because they are different things. An identifier can have type for example, uint32, string, function, etc..
>I fucked up btw, the "value_type" should be pointer to struct ast. Types are trees in general: array types contains a field to the type of its elements, function types contains fields for the argument and return types, etc...
I'd recommend type and data then, value_type is definitely what you're going for