fix nil expressions mapping to valid expression kinds, thus implying children nodes

This commit is contained in:
Ryan Fleury
2024-02-23 11:18:53 -08:00
parent c1984edadf
commit dd0416f9f9
3 changed files with 12 additions and 6 deletions
+2
View File
@@ -6,6 +6,8 @@
// op_string - string for quick display of the operator // op_string - string for quick display of the operator
EVAL_ExprKindTable: EVAL_ExprKindTable:
{ {
{ Nil 0 "" }
{ ArrayIndex 2 "[]" } { ArrayIndex 2 "[]" }
{ MemberAccess 2 "." } { MemberAccess 2 "." }
{ Deref 1 "*" } { Deref 1 "*" }
+6 -3
View File
@@ -4,8 +4,9 @@
//- GENERATED CODE //- GENERATED CODE
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
U8 eval_expr_kind_child_counts[39] = U8 eval_expr_kind_child_counts[40] =
{ {
0,
2, 2,
2, 2,
1, 1,
@@ -47,8 +48,9 @@ U8 eval_expr_kind_child_counts[39] =
0, 0,
}; };
String8 eval_expr_kind_strings[39] = String8 eval_expr_kind_strings[40] =
{ {
str8_lit_comp("Nil"),
str8_lit_comp("ArrayIndex"), str8_lit_comp("ArrayIndex"),
str8_lit_comp("MemberAccess"), str8_lit_comp("MemberAccess"),
str8_lit_comp("Deref"), str8_lit_comp("Deref"),
@@ -105,8 +107,9 @@ str8_lit_comp("Insufficient evaluation machine stack space."),
str8_lit_comp("Malformed bytecode."), str8_lit_comp("Malformed bytecode."),
}; };
String8 eval_expr_op_strings[39] = String8 eval_expr_op_strings[40] =
{ {
str8_lit_comp(""),
str8_lit_comp("[]"), str8_lit_comp("[]"),
str8_lit_comp("."), str8_lit_comp("."),
str8_lit_comp("*"), str8_lit_comp("*"),
+4 -3
View File
@@ -9,6 +9,7 @@
typedef U32 EVAL_ExprKind; typedef U32 EVAL_ExprKind;
typedef enum EVAL_ExprKindEnum typedef enum EVAL_ExprKindEnum
{ {
EVAL_ExprKind_Nil,
EVAL_ExprKind_ArrayIndex, EVAL_ExprKind_ArrayIndex,
EVAL_ExprKind_MemberAccess, EVAL_ExprKind_MemberAccess,
EVAL_ExprKind_Deref, EVAL_ExprKind_Deref,
@@ -68,10 +69,10 @@ EVAL_ResultCode_COUNT,
} EVAL_ResultCode; } EVAL_ResultCode;
C_LINKAGE_BEGIN C_LINKAGE_BEGIN
extern U8 eval_expr_kind_child_counts[39]; extern U8 eval_expr_kind_child_counts[40];
extern String8 eval_expr_kind_strings[39]; extern String8 eval_expr_kind_strings[40];
extern String8 eval_result_code_display_strings[11]; extern String8 eval_result_code_display_strings[11];
extern String8 eval_expr_op_strings[39]; extern String8 eval_expr_op_strings[40];
C_LINKAGE_END C_LINKAGE_END
#endif // EVAL_META_H #endif // EVAL_META_H