const/volatile/unsigned/signed type operators

This commit is contained in:
Ryan Fleury committed 2026-07-27 14:47:06 -07:00
1 parent 78d12eb914
commit 0963f4a6de
5 files changed
+170 -67

No files matched your search

+37 -17
View File
@@ -4,19 +4,23 @@
//- GENERATED CODE
C_LINKAGE_BEGIN
B8 e2_expr_kind_allow_type_operands_table[44] =
B8 e2_expr_kind_allow_type_operands_table[48] =
{
0,
0,
0,
0,
1,
1,
1,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
1,
@@ -52,18 +56,22 @@ B8 e2_expr_kind_allow_type_operands_table[44] =
1,
};
B8 e2_expr_kind_is_type_expr_table[44] =
B8 e2_expr_kind_is_type_expr_table[48] =
{
0,
0,
0,
1,
1,
1,
1,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
@@ -100,18 +108,22 @@ B8 e2_expr_kind_is_type_expr_table[44] =
0,
};
B8 e2_expr_kind_is_first_operand_type_maybe_table[44] =
B8 e2_expr_kind_is_first_operand_type_maybe_table[48] =
{
0,
0,
0,
0,
1,
1,
1,
0,
0,
0,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
@@ -148,18 +160,22 @@ B8 e2_expr_kind_is_first_operand_type_maybe_table[44] =
0,
};
U64 e2_expr_kind_target_operand_count_table[44] =
U64 e2_expr_kind_target_operand_count_table[48] =
{
0,
0,
0,
0,
0,
0,
0,
1,
2,
0xffffffffffffffffull,
0,
0,
0,
1,
1,
1,
1,
1,
2,
0xffffffffffffffffull,
@@ -201,13 +217,17 @@ E2_LangInfo e2_lang_kind_info_table[1] =
{ArrayCount(e2_expr_kind_parse_info_table__clike), (e2_expr_kind_parse_info_table__clike)},
};
E2_ExprKindParseInfo e2_expr_kind_parse_info_table__clike[39] =
E2_ExprKindParseInfo e2_expr_kind_parse_info_table__clike[43] =
{
{E2_ExprKind_Dot, E2_ExprParseKind_Postfix, 1, 0, str8_lit_comp(""), str8_lit_comp("."), str8_lit_comp(""), str8_lit_comp("")},
{E2_ExprKind_Index, E2_ExprParseKind_Postfix, 1, 0, str8_lit_comp(""), str8_lit_comp("["), str8_lit_comp("]"), str8_lit_comp("")},
{E2_ExprKind_Call, E2_ExprParseKind_Postfix, 1, 0, str8_lit_comp(""), str8_lit_comp("("), str8_lit_comp(")"), str8_lit_comp(",")},
{E2_ExprKind_Function, E2_ExprParseKind_Postfix, 1, 0, str8_lit_comp(""), str8_lit_comp("("), str8_lit_comp(")"), str8_lit_comp(",")},
{E2_ExprKind_DerefAsm, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("["), str8_lit_comp(""), str8_lit_comp("]"), str8_lit_comp("")},
{E2_ExprKind_Unsigned, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("unsigned "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("")},
{E2_ExprKind_Signed, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("signed "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("")},
{E2_ExprKind_Volatile, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("volatile "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("")},
{E2_ExprKind_Const, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("const "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("")},
{E2_ExprKind_SizeOf, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("sizeof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("")},
{E2_ExprKind_TypeOf, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("typeof "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("")},
{E2_ExprKind_SizeOf, E2_ExprParseKind_Prefix, 1, 0, str8_lit_comp("size_of "), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp("")},
+12 -8
View File
@@ -12,12 +12,16 @@ E2_ExprKind_Null,
E2_ExprKind_Identifier,
E2_ExprKind_MacroArg,
E2_ExprKind_TypeIdentifier,
E2_ExprKind_Ptr,
E2_ExprKind_Array,
E2_ExprKind_Function,
E2_ExprKind_Numeric,
E2_ExprKind_StringLiteral,
E2_ExprKind_CharLiteral,
E2_ExprKind_Ptr,
E2_ExprKind_Array,
E2_ExprKind_Function,
E2_ExprKind_Const,
E2_ExprKind_Volatile,
E2_ExprKind_Unsigned,
E2_ExprKind_Signed,
E2_ExprKind_Dot,
E2_ExprKind_Index,
E2_ExprKind_Call,
@@ -159,12 +163,12 @@ E2_ExprKindParseInfo *expr_kind_parse_infos;
};
C_LINKAGE_BEGIN
extern B8 e2_expr_kind_allow_type_operands_table[44];
extern B8 e2_expr_kind_is_type_expr_table[44];
extern B8 e2_expr_kind_is_first_operand_type_maybe_table[44];
extern U64 e2_expr_kind_target_operand_count_table[44];
extern B8 e2_expr_kind_allow_type_operands_table[48];
extern B8 e2_expr_kind_is_type_expr_table[48];
extern B8 e2_expr_kind_is_first_operand_type_maybe_table[48];
extern U64 e2_expr_kind_target_operand_count_table[48];
extern E2_LangInfo e2_lang_kind_info_table[1];
extern E2_ExprKindParseInfo e2_expr_kind_parse_info_table__clike[39];
extern E2_ExprKindParseInfo e2_expr_kind_parse_info_table__clike[43];
extern U8 e2_type_kind_basic_byte_size_table[61];
extern String8 e2_type_kind_basic_string_table[61];