metagen: simplify metacode structs

This commit is contained in:
Ryan Fleury
2024-02-13 11:00:58 -08:00
parent ea840a71e8
commit 742d2387e2
6 changed files with 34 additions and 46 deletions
+3 -8
View File
@@ -70,15 +70,10 @@ EVAL_ResultCodeTable:
{ MalformedBytecode "Malformed bytecode." }
}
@table_gen
@enum(U32) EVAL_ExprKind:
{
`typedef U32 EVAL_ExprKind;`;
`enum`;
`{`;
@expand(EVAL_ExprKindTable a) `EVAL_ExprKind_$(a.name),`;
`EVAL_ExprKind_COUNT`;
`};`;
``;
@expand(EVAL_ExprKindTable a) `$(a.name)`,
COUNT,
}
@enum EVAL_ResultCode:
+19 -19
View File
@@ -6,24 +6,8 @@
#ifndef EVAL_META_H
#define EVAL_META_H
typedef enum EVAL_ResultCode
{
EVAL_ResultCode_Good,
EVAL_ResultCode_DivideByZero,
EVAL_ResultCode_BadOp,
EVAL_ResultCode_BadOpTypes,
EVAL_ResultCode_BadMemRead,
EVAL_ResultCode_BadRegRead,
EVAL_ResultCode_BadFrameBase,
EVAL_ResultCode_BadModuleBase,
EVAL_ResultCode_BadTLSBase,
EVAL_ResultCode_InsufficientStackSpace,
EVAL_ResultCode_MalformedBytecode,
EVAL_ResultCode_COUNT,
} EVAL_ResultCode;
typedef U32 EVAL_ExprKind;
enum
typedef enum EVAL_ExprKindEnum
{
EVAL_ExprKind_ArrayIndex,
EVAL_ExprKind_MemberAccess,
@@ -64,8 +48,24 @@ EVAL_ExprKind_Array,
EVAL_ExprKind_Func,
EVAL_ExprKind_Define,
EVAL_ExprKind_LeafIdent,
EVAL_ExprKind_COUNT
};
EVAL_ExprKind_COUNT,
} EVAL_ExprKindEnum;
typedef enum EVAL_ResultCode
{
EVAL_ResultCode_Good,
EVAL_ResultCode_DivideByZero,
EVAL_ResultCode_BadOp,
EVAL_ResultCode_BadOpTypes,
EVAL_ResultCode_BadMemRead,
EVAL_ResultCode_BadRegRead,
EVAL_ResultCode_BadFrameBase,
EVAL_ResultCode_BadModuleBase,
EVAL_ResultCode_BadTLSBase,
EVAL_ResultCode_InsufficientStackSpace,
EVAL_ResultCode_MalformedBytecode,
EVAL_ResultCode_COUNT,
} EVAL_ResultCode;
U8 eval_expr_kind_child_counts[] =
{