metagen: simplify data tables

This commit is contained in:
Ryan Fleury
2024-02-13 11:16:45 -08:00
parent 742d2387e2
commit 1d9dc2b9a9
12 changed files with 171 additions and 235 deletions
+12 -16
View File
@@ -56,30 +56,26 @@ CTRL_ExceptionCodeKindTable:
COUNT, COUNT,
} }
@table_gen_data(type:U32, fallback:0) @data(U32) ctrl_exception_code_kind_code_table:
ctrl_exception_code_kind_code_table:
{ {
`0,`; `0`;
@expand(CTRL_ExceptionCodeKindTable a) `$(a.code),`; @expand(CTRL_ExceptionCodeKindTable a) `$(a.code)`;
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) ctrl_exception_code_kind_display_string_table:
ctrl_exception_code_kind_display_string_table:
{ {
`{0},`; `{0}`;
@expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.display_string)")`;
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) ctrl_exception_code_kind_lowercase_code_string_table:
ctrl_exception_code_kind_lowercase_code_string_table:
{ {
`{0},`; `{0}`;
@expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.lower_name)"),`; @expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.lower_name)")`;
} }
@table_gen_data(type:B8, fallback:0) @data(B8) ctrl_exception_code_kind_default_enable_table:
ctrl_exception_code_kind_default_enable_table:
{ {
`0,`; `0`;
@expand(CTRL_ExceptionCodeKindTable a) `$(a.default),`; @expand(CTRL_ExceptionCodeKindTable a) `$(a.default)`;
} }
+29 -47
View File
@@ -1739,108 +1739,90 @@ DF_DevToggleTable:
@expand(DF_CmdParamSlotTable a) `$(a.c_type) $(a.name_lower)`; @expand(DF_CmdParamSlotTable a) `$(a.c_type) $(a.name_lower)`;
} }
@table_gen_data(type:Rng1U64, fallback:0) @data(Rng1U64) df_g_cmd_param_slot_range_table:
df_g_cmd_param_slot_range_table:
{ {
`{0},` `{0}`,
@expand(DF_CmdParamSlotTable a) @expand(DF_CmdParamSlotTable a) `{OffsetOf(DF_CmdParams, $(a.name_lower)), OffsetOf(DF_CmdParams, $(a.name_lower)) + sizeof($(a.c_type))}`,
`{OffsetOf(DF_CmdParams, $(a.name_lower)), OffsetOf(DF_CmdParams, $(a.name_lower)) + sizeof($(a.c_type))},`
} }
//- rjf: entity kind tables //- rjf: entity kind tables
@table_gen_data(type: DF_IconKind, fallback: `DF_IconKind_Null`) @data(DF_IconKind) df_g_entity_kind_icon_kind_table:
df_g_entity_kind_icon_kind_table:
{ {
@expand(DF_EntityKindTable a) `DF_IconKind_$(a.icon_kind),`; @expand(DF_EntityKindTable a) `DF_IconKind_$(a.icon_kind)`,
} }
@table_gen_data(type: String8, fallback: `{0}`) @data(String8) df_g_entity_kind_display_string_table:
df_g_entity_kind_display_string_table:
{ {
@expand(DF_EntityKindTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(DF_EntityKindTable a) `str8_lit_comp("$(a.display_string)")`,
} }
@table_gen_data(type: String8, fallback: `{0}`) @data(String8) df_g_entity_kind_name_label_table:
df_g_entity_kind_name_label_table:
{ {
@expand(DF_EntityKindTable a) `str8_lit_comp("$(a.name_label)"),`; @expand(DF_EntityKindTable a) `str8_lit_comp("$(a.name_label)")`,
} }
@table_gen_data(type:DF_EntityKindFlags, fallback: `0`) @data(DF_EntityKindFlags) df_g_entity_kind_flags_table:
df_g_entity_kind_flags_table:
{ {
@expand(DF_EntityKindTable a) `($(a.lf_mut_user_cfg)*DF_EntityKindFlag_LeafMutationUserConfig | $(a.lf_mut_prof_cfg)*DF_EntityKindFlag_LeafMutationProfileConfig | $(a.lf_mut_halt)*DF_EntityKindFlag_LeafMutationSoftHalt | $(a.lf_mut_dbg)*DF_EntityKindFlag_LeafMutationDebugInfoMap | $(a.tr_mut_user_cfg)*DF_EntityKindFlag_TreeMutationUserConfig | $(a.tr_mut_prof_cfg)*DF_EntityKindFlag_TreeMutationProfileConfig | $(a.tr_mut_halt)*DF_EntityKindFlag_TreeMutationSoftHalt | $(a.tr_mut_dbg)*DF_EntityKindFlag_TreeMutationDebugInfoMap | $(a.name_is_code)*DF_EntityKindFlag_NameIsCode | $(a.user_lifetime)*DF_EntityKindFlag_UserDefinedLifetime),`; @expand(DF_EntityKindTable a) `($(a.lf_mut_user_cfg)*DF_EntityKindFlag_LeafMutationUserConfig | $(a.lf_mut_prof_cfg)*DF_EntityKindFlag_LeafMutationProfileConfig | $(a.lf_mut_halt)*DF_EntityKindFlag_LeafMutationSoftHalt | $(a.lf_mut_dbg)*DF_EntityKindFlag_LeafMutationDebugInfoMap | $(a.tr_mut_user_cfg)*DF_EntityKindFlag_TreeMutationUserConfig | $(a.tr_mut_prof_cfg)*DF_EntityKindFlag_TreeMutationProfileConfig | $(a.tr_mut_halt)*DF_EntityKindFlag_TreeMutationSoftHalt | $(a.tr_mut_dbg)*DF_EntityKindFlag_TreeMutationDebugInfoMap | $(a.name_is_code)*DF_EntityKindFlag_NameIsCode | $(a.user_lifetime)*DF_EntityKindFlag_UserDefinedLifetime)`,
} }
@table_gen_data(type: DF_EntityOpFlags, fallback: `0`) @data(DF_EntityOpFlags) df_g_entity_kind_op_flags_table:
df_g_entity_kind_op_flags_table:
{ {
@expand(DF_EntityKindTable a) `($(a.op_delete)*DF_EntityOpFlag_Delete) | ($(a.op_freeze)*DF_EntityOpFlag_Freeze) | ($(a.op_edit)*DF_EntityOpFlag_Edit) | ($(a.op_rename)*DF_EntityOpFlag_Rename) | ($(a.op_enable)*DF_EntityOpFlag_Enable) | ($(a.op_cond)*DF_EntityOpFlag_Condition) | ($(a.op_dup)*DF_EntityOpFlag_Duplicate),`; @expand(DF_EntityKindTable a) `($(a.op_delete)*DF_EntityOpFlag_Delete) | ($(a.op_freeze)*DF_EntityOpFlag_Freeze) | ($(a.op_edit)*DF_EntityOpFlag_Edit) | ($(a.op_rename)*DF_EntityOpFlag_Rename) | ($(a.op_enable)*DF_EntityOpFlag_Enable) | ($(a.op_cond)*DF_EntityOpFlag_Condition) | ($(a.op_dup)*DF_EntityOpFlag_Duplicate)`,
} }
//- rjf: config source tables //- rjf: config source tables
@table_gen_data(type: String8, fallback: DF_CoreCmdKind_Null) @data(String8) df_g_cfg_src_string_table:
df_g_cfg_src_string_table:
{ {
@expand(DF_CfgSrcTable a) `str8_lit_comp("$(a.string)"),`; @expand(DF_CfgSrcTable a) `str8_lit_comp("$(a.string)")`,
} }
@table_gen_data(type: DF_CoreCmdKind, fallback: DF_CoreCmdKind_Null) @data(DF_CoreCmdKind) df_g_cfg_src_load_cmd_kind_table:
df_g_cfg_src_load_cmd_kind_table:
{ {
@expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.load_cmd),`; @expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.load_cmd)`,
} }
@table_gen_data(type: DF_CoreCmdKind, fallback: DF_CoreCmdKind_Null) @data(DF_CoreCmdKind) df_g_cfg_src_write_cmd_kind_table:
df_g_cfg_src_write_cmd_kind_table:
{ {
@expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.write_cmd),`; @expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.write_cmd)`,
} }
@table_gen_data(type: DF_CoreCmdKind, fallback: DF_CoreCmdKind_Null) @data(DF_CoreCmdKind) df_g_cfg_src_apply_cmd_kind_table:
df_g_cfg_src_apply_cmd_kind_table:
{ {
@expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.apply_cmd),`; @expand(DF_CfgSrcTable a) `DF_CoreCmdKind_$(a.apply_cmd)`;
} }
//- rjf: core view rule function prototypes //- rjf: core view rule function prototypes
@table_gen @table_gen
{ {
``; @expand(DF_CoreViewRuleTable a) `$(a.er == "x" -> "DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_CoreViewRuleTable a) @expand(DF_CoreViewRuleTable a) `$(a.vb == "x" -> "DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(" .. a.name_lower .. ");")`;
`$(a.er == "x" -> "DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(" .. a.name_lower .. ");")`;
@expand(DF_CoreViewRuleTable a)
`$(a.vb == "x" -> "DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(" .. a.name_lower .. ");")`;
} }
//- rjf: core command kind tables //- rjf: core command kind tables
@table_gen_data(type: DF_CmdSpecInfo, fallback: `{0}`) @c_file @data(DF_CmdSpecInfo) @c_file df_g_core_cmd_kind_spec_info_table:
df_g_core_cmd_kind_spec_info_table:
{ {
@expand(DF_CoreCmdTable, a) @expand(DF_CoreCmdTable, a)
```{ str8_lit_comp("$(a.string)"), str8_lit_comp("$(a.desc)"), str8_lit_comp("$(a.search_tags)"), str8_lit_comp("$(a.display_name)"), (DF_CmdSpecFlag_OmitFromLists*$(a.lister_omit)), {DF_CmdParamSlot_$(a.q_slot), DF_EntityKind_$(a.q_ent_kind), (DF_CmdQueryFlag_AllowFiles*$(a.q_allow_files))|(DF_CmdQueryFlag_AllowFolders*$(a.q_allow_folders))|(DF_CmdQueryFlag_CodeInput*$(a.q_is_code))|(DF_CmdQueryFlag_KeepOldInput*$(a.q_keep_oi))|(DF_CmdQueryFlag_SelectOldInput*$(a.q_select_oi))|(DF_CmdQueryFlag_Required*$(a.q_required))}, DF_IconKind_$(a.canonical_icon)},```; ```{ str8_lit_comp("$(a.string)"), str8_lit_comp("$(a.desc)"), str8_lit_comp("$(a.search_tags)"), str8_lit_comp("$(a.display_name)"), (DF_CmdSpecFlag_OmitFromLists*$(a.lister_omit)), {DF_CmdParamSlot_$(a.q_slot), DF_EntityKind_$(a.q_ent_kind), (DF_CmdQueryFlag_AllowFiles*$(a.q_allow_files))|(DF_CmdQueryFlag_AllowFolders*$(a.q_allow_folders))|(DF_CmdQueryFlag_CodeInput*$(a.q_is_code))|(DF_CmdQueryFlag_KeepOldInput*$(a.q_keep_oi))|(DF_CmdQueryFlag_SelectOldInput*$(a.q_select_oi))|(DF_CmdQueryFlag_Required*$(a.q_required))}, DF_IconKind_$(a.canonical_icon)}```;
} }
//- rjf: core view rule tables //- rjf: core view rule tables
@table_gen_data(type: DF_CoreViewRuleSpecInfo, fallback: `{0}`) @c_file @data(DF_CoreViewRuleSpecInfo) @c_file df_g_core_view_rule_spec_info_table:
df_g_core_view_rule_spec_info_table:
{ {
@expand(DF_CoreViewRuleTable a) @expand(DF_CoreViewRuleTable a)
```{str8_lit_comp("$(a.string)"), str8_lit_comp("$(a.display_name)"), str8_lit_comp("$(a.description)"), (DF_CoreViewRuleSpecInfoFlag_Inherited*$(a.ih == "x"))|(DF_CoreViewRuleSpecInfoFlag_Expandable*$(a.ex == "x"))|(DF_CoreViewRuleSpecInfoFlag_EvalResolution*$(a.er == "x"))|(DF_CoreViewRuleSpecInfoFlag_VizBlockProd*$(a.vb == "x")), $(a.er == "x" -> "DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_NAME("..a.name_lower..")") $(a.er != "x" -> 0), $(a.vb == "x" -> "DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vb != "x" -> 0), },```; ```{str8_lit_comp("$(a.string)"), str8_lit_comp("$(a.display_name)"), str8_lit_comp("$(a.description)"), (DF_CoreViewRuleSpecInfoFlag_Inherited*$(a.ih == "x"))|(DF_CoreViewRuleSpecInfoFlag_Expandable*$(a.ex == "x"))|(DF_CoreViewRuleSpecInfoFlag_EvalResolution*$(a.er == "x"))|(DF_CoreViewRuleSpecInfoFlag_VizBlockProd*$(a.vb == "x")), $(a.er == "x" -> "DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_NAME("..a.name_lower..")") $(a.er != "x" -> 0), $(a.vb == "x" -> "DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vb != "x" -> 0), }```;
} }
//- rjf: icon kinds //- rjf: icon kinds
@table_gen_data(type: String8, fallback: `{0}`) @data(String8) df_g_icon_kind_text_table:
df_g_icon_kind_text_table:
{ {
@expand(DF_IconTable a) @expand(DF_IconTable a) `str8_lit_comp("$(a.text)")`;
`str8_lit_comp("$(a.text)"),`;
} }
//- rjf: instruction metadata table //- rjf: instruction metadata table
-1
View File
@@ -409,7 +409,6 @@ B32 prefer_dasm;
B32 force_confirm; B32 force_confirm;
}; };
DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(array); DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(array);
DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(bswap); DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(bswap);
DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(list); DF_CORE_VIEW_RULE_VIZ_BLOCK_PROD_FUNCTION_DEF(list);
+44 -66
View File
@@ -420,118 +420,100 @@ DF_ThemePresetColorTable:
//- rjf: theme preset color tables //- rjf: theme preset color tables
@table_gen_data(type: String8, fallback: `{0}`) @data(String8) df_g_theme_preset_display_string_table:
df_g_theme_preset_display_string_table:
{ {
@expand(DF_ThemePresetTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(DF_ThemePresetTable a) `str8_lit_comp("$(a.display_string)")`,
} }
@table_gen_data(type: String8, fallback: `{0}`) @data(String8) df_g_theme_preset_code_string_table:
df_g_theme_preset_code_string_table:
{ {
@expand(DF_ThemePresetTable a) `str8_lit_comp("$(a.name_lower)"),`; @expand(DF_ThemePresetTable a) `str8_lit_comp("$(a.name_lower)")`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__default_dark:
df_g_theme_preset_colors__default_dark:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.default_dark)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.default_dark))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__default_light:
df_g_theme_preset_colors__default_light:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.default_light)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.default_light))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__vs_dark:
df_g_theme_preset_colors__vs_dark:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.vs_dark)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.vs_dark))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__vs_light:
df_g_theme_preset_colors__vs_light:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.vs_light)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.vs_light))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__solarized_dark:
df_g_theme_preset_colors__solarized_dark:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.solarized_dark)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.solarized_dark))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__solarized_light:
df_g_theme_preset_colors__solarized_light:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.solarized_light)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.solarized_light))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__handmade_hero:
df_g_theme_preset_colors__handmade_hero:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.handmade_hero)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.handmade_hero))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__four_coder:
df_g_theme_preset_colors__four_coder:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.four_coder)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.four_coder))`,
} }
@table_gen_data(type: Vec4F32, fallback: `{1, 0, 1, 1}`) @data(Vec4F32) df_g_theme_preset_colors__far_manager:
df_g_theme_preset_colors__far_manager:
{ {
@expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.far_manager)),`; @expand(DF_ThemePresetColorTable a) `rgba_from_u32_lit_comp($(a.far_manager))`;
} }
@table_gen_data(type: `Vec4F32 *`, fallback: `0`) @data(`Vec4F32*`) df_g_theme_preset_colors_table:
df_g_theme_preset_colors_table:
{ {
@expand(DF_ThemePresetTable a) `df_g_theme_preset_colors__$(a.name_lower),`; @expand(DF_ThemePresetTable a) `df_g_theme_preset_colors__$(a.name_lower)`,
} }
//- rjf: cmd param slot -> view spec tables //- rjf: cmd param slot -> view spec tables
@table_gen_data(type: DF_CmdParamSlot, fallback:`DF_CmdParamSlot_Null`) @data(DF_CmdParamSlot) df_g_cmd_param_slot_2_view_spec_src_map:
df_g_cmd_param_slot_2_view_spec_src_map:
{ {
@expand(DF_CmdParamSlot2ViewSpecMap a) `DF_CmdParamSlot_$(a.slot),` @expand(DF_CmdParamSlot2ViewSpecMap a) `DF_CmdParamSlot_$(a.slot)`
} }
@table_gen_data(type: String8, fallback:`{0}`) @data(String8) df_g_cmd_param_slot_2_view_spec_dst_map:
df_g_cmd_param_slot_2_view_spec_dst_map:
{ {
@expand(DF_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.view_spec)"),` @expand(DF_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.view_spec)")`
} }
@table_gen_data(type: String8, fallback:`{0}`) @data(String8) df_g_cmd_param_slot_2_view_spec_cmd_map:
df_g_cmd_param_slot_2_view_spec_cmd_map:
{ {
@expand(DF_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.opt_cmd_spec)"),` @expand(DF_CmdParamSlot2ViewSpecMap a) `str8_lit_comp("$(a.opt_cmd_spec)")`
} }
//- rjf: default bindings table //- rjf: default bindings table
@table_gen_data(type: DF_StringBindingPair, fallback: `{0}`) @data(DF_StringBindingPair) df_g_default_binding_table:
df_g_default_binding_table:
{ {
@expand(DF_DefaultBindingTable a) ```{str8_lit_comp("$(a.name)"), {OS_Key_$(a.key), 0 $(a.ctrl != 0 -> `|OS_EventFlag_Ctrl`) $(a.shift != 0 -> `|OS_EventFlag_Shift`) $(a.alt != 0 -> `|OS_EventFlag_Alt`)}},```; @expand(DF_DefaultBindingTable a) ```{str8_lit_comp("$(a.name)"), {OS_Key_$(a.key), 0 $(a.ctrl != 0 -> `|OS_EventFlag_Ctrl`) $(a.shift != 0 -> `|OS_EventFlag_Shift`) $(a.alt != 0 -> `|OS_EventFlag_Alt`)}}```;
} }
//- rjf: binding version remap tables //- rjf: binding version remap tables
@table_gen_data(type: String8, fallback: `{0}`) @data(String8) df_g_binding_version_remap_old_name_table:
df_g_binding_version_remap_old_name_table:
{ {
@expand(DF_BindingVersionRemapTable a) `str8_lit_comp("$(a.old_name)"),` @expand(DF_BindingVersionRemapTable a) `str8_lit_comp("$(a.old_name)")`
} }
@table_gen_data(type: String8, fallback: `{0}`) @data(String8) df_g_binding_version_remap_new_name_table:
df_g_binding_version_remap_new_name_table:
{ {
@expand(DF_BindingVersionRemapTable a) `str8_lit_comp("$(a.new_name)"),` @expand(DF_BindingVersionRemapTable a) `str8_lit_comp("$(a.new_name)")`
} }
//- rjf: view hook forward declares //- rjf: view hook forward declares
@@ -561,33 +543,29 @@ df_g_binding_version_remap_new_name_table:
//- rjf: gfx view rule tables //- rjf: gfx view rule tables
@table_gen_data(type: DF_GfxViewRuleSpecInfo, fallback: `{0}`) @c_file @data(DF_GfxViewRuleSpecInfo) @c_file df_g_gfx_view_rule_spec_info_table:
df_g_gfx_view_rule_spec_info_table:
{ {
@expand(DF_GfxViewRuleTable a) @expand(DF_GfxViewRuleTable a)
```{ str8_lit_comp("$(a.string)"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*$(a.vr == "x"))|(DF_GfxViewRuleSpecInfoFlag_LineStringize*$(a.ls == "x"))|(DF_GfxViewRuleSpecInfoFlag_RowUI*$(a.ru == "x"))|(DF_GfxViewRuleSpecInfoFlag_BlockUI*$(a.bu == "x")), $(a.vr == "x" -> "DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vr != "x" -> 0), $(a.ls == "x" -> "DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME("..a.name_lower..")") $(a.ls != "x" -> 0), $(a.ru == "x" -> "DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME("..a.name_lower..")") $(a.ru != "x" -> 0), $(a.bu == "x" -> "DF_GFX_VIEW_RULE_BLOCK_UI_FUNCTION_NAME("..a.name_lower..")") $(a.bu != "x" -> 0), },```; ```{ str8_lit_comp("$(a.string)"), (DF_GfxViewRuleSpecInfoFlag_VizRowProd*$(a.vr == "x"))|(DF_GfxViewRuleSpecInfoFlag_LineStringize*$(a.ls == "x"))|(DF_GfxViewRuleSpecInfoFlag_RowUI*$(a.ru == "x"))|(DF_GfxViewRuleSpecInfoFlag_BlockUI*$(a.bu == "x")), $(a.vr == "x" -> "DF_GFX_VIEW_RULE_VIZ_ROW_PROD_FUNCTION_NAME("..a.name_lower..")") $(a.vr != "x" -> 0), $(a.ls == "x" -> "DF_GFX_VIEW_RULE_LINE_STRINGIZE_FUNCTION_NAME("..a.name_lower..")") $(a.ls != "x" -> 0), $(a.ru == "x" -> "DF_GFX_VIEW_RULE_ROW_UI_FUNCTION_NAME("..a.name_lower..")") $(a.ru != "x" -> 0), $(a.bu == "x" -> "DF_GFX_VIEW_RULE_BLOCK_UI_FUNCTION_NAME("..a.name_lower..")") $(a.bu != "x" -> 0), }```;
} }
//- rjf: default view spec info table //- rjf: default view spec info table
@table_gen_data(type: DF_ViewSpecInfo, fallback: `{0}`) @data(DF_ViewSpecInfo) df_g_gfx_view_kind_spec_info_table:
df_g_gfx_view_kind_spec_info_table:
{ {
@expand(DF_GfxViewTable a) ```{(0|$(a.parameterized_by_entity)*DF_ViewSpecFlag_ParameterizedByEntity|$(a.can_serialize)*DF_ViewSpecFlag_CanSerialize|$(a.can_serialize_entity_path)*DF_ViewSpecFlag_CanSerializeEntityPath|$(a.can_filter)*DF_ViewSpecFlag_CanFilter|$(a.filter_is_code)*DF_ViewSpecFlag_FilterIsCode|$(a.typing_automatically_filters)*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_string)"), DF_NameKind_$(a.name_kind), DF_IconKind_$(a.icon), DF_VIEW_SETUP_FUNCTION_NAME($(a.name)), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME($(a.name)), DF_VIEW_CMD_FUNCTION_NAME($(a.name)), DF_VIEW_UI_FUNCTION_NAME($(a.name))},```; @expand(DF_GfxViewTable a) ```{(0|$(a.parameterized_by_entity)*DF_ViewSpecFlag_ParameterizedByEntity|$(a.can_serialize)*DF_ViewSpecFlag_CanSerialize|$(a.can_serialize_entity_path)*DF_ViewSpecFlag_CanSerializeEntityPath|$(a.can_filter)*DF_ViewSpecFlag_CanFilter|$(a.filter_is_code)*DF_ViewSpecFlag_FilterIsCode|$(a.typing_automatically_filters)*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("$(a.name_lower)"), str8_lit_comp("$(a.display_string)"), DF_NameKind_$(a.name_kind), DF_IconKind_$(a.icon), DF_VIEW_SETUP_FUNCTION_NAME($(a.name)), DF_VIEW_STRING_FROM_STATE_FUNCTION_NAME($(a.name)), DF_VIEW_CMD_FUNCTION_NAME($(a.name)), DF_VIEW_UI_FUNCTION_NAME($(a.name))}```;
} }
//- rjf: theme color tables //- rjf: theme color tables
@table_gen_data(type: String8, fallback: `str8_lit_comp("")`) @data(String8) df_g_theme_color_display_string_table:
df_g_theme_color_display_string_table:
{ {
@expand(DF_ThemeTable a) `str8_lit_comp("$(a.display_name)"),`; @expand(DF_ThemeTable a) `str8_lit_comp("$(a.display_name)")`
} }
@table_gen_data(type: String8, fallback: `str8_lit_comp("")`) @data(String8) df_g_theme_color_cfg_string_table:
df_g_theme_color_cfg_string_table:
{ {
@expand(DF_ThemeTable a) `str8_lit_comp("$(a.name_lower)"),`; @expand(DF_ThemeTable a) `str8_lit_comp("$(a.name_lower)")`
} }
//////////////////////////////// ////////////////////////////////
+8 -11
View File
@@ -82,26 +82,23 @@ EVAL_ResultCodeTable:
COUNT, COUNT,
} }
@table_gen_data(type:U8, fallback:0) @data(U8) eval_expr_kind_child_counts:
eval_expr_kind_child_counts:
{ {
@expand(EVAL_ExprKindTable a) `$(a.num_children),`; @expand(EVAL_ExprKindTable a) `$(a.num_children)`
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8)
eval_expr_kind_strings: eval_expr_kind_strings:
{ {
@expand(EVAL_ExprKindTable a) `str8_lit_comp("$(a.name)"),`; @expand(EVAL_ExprKindTable a) `str8_lit_comp("$(a.name)")`
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) eval_result_code_display_strings:
eval_result_code_display_strings:
{ {
@expand(EVAL_ResultCodeTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(EVAL_ResultCodeTable a) `str8_lit_comp("$(a.display_string)")`
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) eval_expr_op_strings:
eval_expr_op_strings:
{ {
@expand(EVAL_ExprKindTable a) `str8_lit_comp("$(a.op_string)"),`; @expand(EVAL_ExprKindTable a) `str8_lit_comp("$(a.op_string)")`
} }
+5 -7
View File
@@ -215,21 +215,19 @@ int main(int argument_count, char **arguments)
MD_Node *file = n->v.root; MD_Node *file = n->v.root;
for(MD_EachNode(node, file->first)) for(MD_EachNode(node, file->first))
{ {
MD_Node *tag = md_tag_from_string(node, str8_lit("table_gen_data"), 0); MD_Node *tag = md_tag_from_string(node, str8_lit("data"), 0);
if(!md_node_is_nil(tag)) if(!md_node_is_nil(tag))
{ {
String8 element_type = tag->first->string;
String8 layer_key = mg_layer_key_from_path(file->string); String8 layer_key = mg_layer_key_from_path(file->string);
MG_Layer *layer = mg_layer_from_key(layer_key); MG_Layer *layer = mg_layer_from_key(layer_key);
String8List *out = md_node_has_tag(node, str8_lit("c_file"), 0) ? &layer->c_tables : &layer->h_tables; String8List *out = md_node_has_tag(node, str8_lit("c_file"), 0) ? &layer->c_tables : &layer->h_tables;
MD_Node *type = md_child_from_string(tag, str8_lit("type"), 0)->first; String8List gen_strings = mg_string_list_from_table_gen(mg_arena, table_grid_map, table_col_map, str8_lit(""), node);
MD_Node *fallback = md_child_from_string(tag, str8_lit("fallback"), 0)->first; str8_list_pushf(mg_arena, out, "%S %S[] =\n{\n", element_type, node->string);
String8List gen_strings = mg_string_list_from_table_gen(mg_arena, table_grid_map, table_col_map, fallback->string, node);
str8_list_pushf(mg_arena, out, "%S %S[] =\n{\n", type->string, node->string);
for(String8Node *n = gen_strings.first; n != 0; n = n->next) for(String8Node *n = gen_strings.first; n != 0; n = n->next)
{ {
String8 escaped = mg_escaped_from_str8(mg_arena, n->string); String8 escaped = mg_escaped_from_str8(mg_arena, n->string);
str8_list_push(mg_arena, out, escaped); str8_list_pushf(mg_arena, out, "%S,\n", escaped);
str8_list_push(mg_arena, out, str8_lit("\n"));
} }
str8_list_push(mg_arena, out, str8_lit("};\n\n")); str8_list_push(mg_arena, out, str8_lit("};\n\n"));
} }
+4 -6
View File
@@ -161,14 +161,12 @@ OS_KeyTable:
COUNT, COUNT,
} }
@table_gen_data(type: String8, fallback:`{0}`) @data(String8) os_g_key_display_string_table:
os_g_key_display_string_table:
{ {
@expand(OS_KeyTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(OS_KeyTable a) `str8_lit_comp("$(a.display_string)")`;
} }
@table_gen_data(type: String8, fallback:`{0}`) @data(String8) os_g_key_cfg_string_table:
os_g_key_cfg_string_table:
{ {
@expand(OS_KeyTable a) `str8_lit_comp("$(a.cfg_string)"),`; @expand(OS_KeyTable a) `str8_lit_comp("$(a.cfg_string)")`;
} }
+36 -46
View File
@@ -318,46 +318,41 @@ REGS_ArchTable:
@expand(REGS_RegTableX64 a) `REGS_Reg$(a.size) $(a.name)`, @expand(REGS_RegTableX64 a) `REGS_Reg$(a.size) $(a.name)`,
} }
@table_gen_data(type:REGS_UsageKind, fallback:`REGS_UsageKind_Normal`) @data(REGS_UsageKind) regs_g_reg_code_x64_usage_kind_table:
regs_g_reg_code_x64_usage_kind_table:
{ {
`REGS_UsageKind_Normal,`; `REGS_UsageKind_Normal`;
@expand(REGS_RegTableX64 a) `REGS_UsageKind_$(a.usage),`; @expand(REGS_RegTableX64 a) `REGS_UsageKind_$(a.usage)`;
} }
@table_gen_data(type:REGS_UsageKind, fallback:`REGS_UsageKind_Normal`) @data(REGS_UsageKind)
regs_g_alias_code_x64_usage_kind_table: regs_g_alias_code_x64_usage_kind_table:
{ {
`REGS_UsageKind_Normal,`; `REGS_UsageKind_Normal`;
@expand(REGS_AliasTableX64 a) `REGS_UsageKind_$(a.usage),`; @expand(REGS_AliasTableX64 a) `REGS_UsageKind_$(a.usage)`;
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) regs_g_reg_code_x64_string_table:
regs_g_reg_code_x64_string_table:
{ {
`str8_lit_comp(""),`; `str8_lit_comp("")`;
@expand(REGS_RegTableX64 a) `str8_lit_comp("$(a.name)"),`; @expand(REGS_RegTableX64 a) `str8_lit_comp("$(a.name)")`;
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) regs_g_alias_code_x64_string_table:
regs_g_alias_code_x64_string_table:
{ {
`str8_lit_comp(""),`; `str8_lit_comp("")`;
@expand(REGS_AliasTableX64 a) `str8_lit_comp("$(a.name)"),`; @expand(REGS_AliasTableX64 a) `str8_lit_comp("$(a.name)")`;
} }
@table_gen_data(type: REGS_Rng, fallback: `{0}`) @data(REGS_Rng) regs_g_reg_code_x64_rng_table:
regs_g_reg_code_x64_rng_table:
{ {
`{0},`; `{0}`;
@expand(REGS_RegTableX64 a) `{(U16)OffsetOf(REGS_RegBlockX64, $(a.name)), $(a.size/8)},`, @expand(REGS_RegTableX64 a) `{(U16)OffsetOf(REGS_RegBlockX64, $(a.name)), $(a.size/8)}`,
} }
@table_gen_data(type: REGS_Slice, fallback: `{0}`) @data(REGS_Slice) regs_g_alias_code_x64_slice_table:
regs_g_alias_code_x64_slice_table:
{ {
`{0},`; `{0}`;
@expand(REGS_AliasTableX64 a) `{REGS_RegCodeX64_$(a.base), $(a.off/8), $(a.size/8)},`, @expand(REGS_AliasTableX64 a) `{REGS_RegCodeX64_$(a.base), $(a.off/8), $(a.size/8)}`,
} }
//////////////////////////////// ////////////////////////////////
@@ -382,46 +377,41 @@ regs_g_alias_code_x64_slice_table:
@expand(REGS_RegTableX86 a) `REGS_Reg$(a.size) $(a.name)`, @expand(REGS_RegTableX86 a) `REGS_Reg$(a.size) $(a.name)`,
} }
@table_gen_data(type:REGS_UsageKind, fallback:`REGS_UsageKind_Normal`) @data(REGS_UsageKind)
regs_g_reg_code_x86_usage_kind_table: regs_g_reg_code_x86_usage_kind_table:
{ {
`REGS_UsageKind_Normal,`; `REGS_UsageKind_Normal`;
@expand(REGS_RegTableX86 a) `REGS_UsageKind_$(a.usage),`; @expand(REGS_RegTableX86 a) `REGS_UsageKind_$(a.usage)`;
} }
@table_gen_data(type:REGS_UsageKind, fallback:`REGS_UsageKind_Normal`) @data(REGS_UsageKind) regs_g_alias_code_x86_usage_kind_table:
regs_g_alias_code_x86_usage_kind_table:
{ {
`REGS_UsageKind_Normal,`; `REGS_UsageKind_Normal`;
@expand(REGS_AliasTableX86 a) `REGS_UsageKind_$(a.usage),`; @expand(REGS_AliasTableX86 a) `REGS_UsageKind_$(a.usage)`;
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) regs_g_reg_code_x86_string_table:
regs_g_reg_code_x86_string_table:
{ {
`str8_lit_comp(""),`; `str8_lit_comp("")`;
@expand(REGS_RegTableX86 a) `str8_lit_comp("$(a.name)"),`; @expand(REGS_RegTableX86 a) `str8_lit_comp("$(a.name)")`;
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) regs_g_alias_code_x86_string_table:
regs_g_alias_code_x86_string_table:
{ {
`str8_lit_comp(""),`; `str8_lit_comp("")`;
@expand(REGS_AliasTableX86 a) `str8_lit_comp("$(a.name)"),`; @expand(REGS_AliasTableX86 a) `str8_lit_comp("$(a.name)")`;
} }
@table_gen_data(type: REGS_Rng, fallback: `{0}`) @data(REGS_Rng) regs_g_reg_code_x86_rng_table:
regs_g_reg_code_x86_rng_table:
{ {
`{0},`; `{0}`;
@expand(REGS_RegTableX86 a) `{(U16)OffsetOf(REGS_RegBlockX86, $(a.name)), $(a.size/8)},`, @expand(REGS_RegTableX86 a) `{(U16)OffsetOf(REGS_RegBlockX86, $(a.name)), $(a.size/8)}`,
} }
@table_gen_data(type: REGS_Slice, fallback: `{0}`) @data(REGS_Slice) regs_g_alias_code_x86_slice_table:
regs_g_alias_code_x86_slice_table:
{ {
`{0},`; `{0}`;
@expand(REGS_AliasTableX86 a) `{REGS_RegCodeX86_$(a.base), $(a.off/8), $(a.size/8)},`, @expand(REGS_AliasTableX86 a) `{REGS_RegCodeX86_$(a.base), $(a.off/8), $(a.size/8)}`,
} }
//////////////////////////////// ////////////////////////////////
+14 -14
View File
@@ -480,44 +480,44 @@ ps_main(Vertex2Pixel v2p) : SV_TARGET
COUNT, COUNT,
} }
@c_file @table_gen_data(type:String8, fallback:`{0}`) @c_file @data(String8)
r_d3d11_g_vshad_kind_source_table: r_d3d11_g_vshad_kind_source_table:
{ {
@expand(R_D3D11_VShadTable a) `$(a.source),`; @expand(R_D3D11_VShadTable a) `$(a.source)`;
} }
@c_file @table_gen_data(type:String8, fallback:`{0}`) @c_file @data(String8)
r_d3d11_g_vshad_kind_source_name_table: r_d3d11_g_vshad_kind_source_name_table:
{ {
@expand(R_D3D11_VShadTable a) `str8_lit_comp("$(a.source)"),`; @expand(R_D3D11_VShadTable a) `str8_lit_comp("$(a.source)")`;
} }
@c_file @table_gen_data(type:`D3D11_INPUT_ELEMENT_DESC *`, fallback:`0`) @c_file @data(`D3D11_INPUT_ELEMENT_DESC *`)
r_d3d11_g_vshad_kind_elements_ptr_table: r_d3d11_g_vshad_kind_elements_ptr_table:
{ {
@expand(R_D3D11_VShadTable a) `$(a.ilay_table),`; @expand(R_D3D11_VShadTable a) `$(a.ilay_table)`;
} }
@c_file @table_gen_data(type:U64, fallback:`0`) @c_file @data(U64)
r_d3d11_g_vshad_kind_elements_count_table: r_d3d11_g_vshad_kind_elements_count_table:
{ {
@expand(R_D3D11_VShadTable a) `$(a.ilay_table != 0 -> "ArrayCount("..a.ilay_table..")") $(a.ilay_table == 0 -> "0"),`; @expand(R_D3D11_VShadTable a) `$(a.ilay_table != 0 -> "ArrayCount("..a.ilay_table..")") $(a.ilay_table == 0 -> "0")`;
} }
@c_file @table_gen_data(type:String8, fallback:`{0}`) @c_file @data(String8)
r_d3d11_g_pshad_kind_source_table: r_d3d11_g_pshad_kind_source_table:
{ {
@expand(R_D3D11_PShadTable a) `$(a.source),`; @expand(R_D3D11_PShadTable a) `$(a.source)`;
} }
@c_file @table_gen_data(type:String8, fallback:`{0}`) @c_file @data(String8)
r_d3d11_g_pshad_kind_source_name_table: r_d3d11_g_pshad_kind_source_name_table:
{ {
@expand(R_D3D11_PShadTable a) `str8_lit_comp("$(a.source)"),`; @expand(R_D3D11_PShadTable a) `str8_lit_comp("$(a.source)")`;
} }
@c_file @table_gen_data(type:U64, fallback:`0`) @c_file @data(U64)
r_d3d11_g_uniform_type_kind_size_table: r_d3d11_g_uniform_type_kind_size_table:
{ {
@expand(R_D3D11_UniformTypeTable a) `sizeof(R_D3D11_Uniforms_$(a.name)),`; @expand(R_D3D11_UniformTypeTable a) `sizeof(R_D3D11_Uniforms_$(a.name))`;
} }
+14 -14
View File
@@ -95,37 +95,37 @@ R_PassKindTable:
COUNT, COUNT,
} }
@table_gen_data(type:String8) r_tex2d_format_display_string_table: @data(String8) r_tex2d_format_display_string_table:
{ {
@expand(R_Tex2DFormatTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(R_Tex2DFormatTable a) `str8_lit_comp("$(a.display_string)")`;
} }
@table_gen_data(type:U8) r_tex2d_format_bytes_per_pixel_table: @data(U8) r_tex2d_format_bytes_per_pixel_table:
{ {
@expand(R_Tex2DFormatTable a) `$(a.bytes_per_pixel),`; @expand(R_Tex2DFormatTable a) `$(a.bytes_per_pixel)`;
} }
@table_gen_data(type:String8) r_tex2d_kind_display_string_table: @data(String8) r_tex2d_kind_display_string_table:
{ {
@expand(R_Tex2DKindTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(R_Tex2DKindTable a) `str8_lit_comp("$(a.display_string)")`;
} }
@table_gen_data(type:String8) r_tex2d_sample_kind_display_string_table: @data(String8) r_tex2d_sample_kind_display_string_table:
{ {
@expand(R_Tex2DSampleKindTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(R_Tex2DSampleKindTable a) `str8_lit_comp("$(a.display_string)")`;
} }
@table_gen_data(type:String8) r_pass_kind_display_string_table: @data(String8) r_pass_kind_display_string_table:
{ {
@expand(R_PassKindTable a) `str8_lit_comp("$(a.display_string)"),`; @expand(R_PassKindTable a) `str8_lit_comp("$(a.display_string)")`;
} }
@table_gen_data(type:U8) r_pass_kind_batch_table: @data(U8) r_pass_kind_batch_table:
{ {
@expand(R_PassKindTable a) `$(a.batch),`; @expand(R_PassKindTable a) `$(a.batch)`;
} }
@table_gen_data(type:U64) @c_file r_pass_kind_params_size_table: @data(U64) @c_file r_pass_kind_params_size_table:
{ {
@expand(R_PassKindTable a) `sizeof(R_PassParams_$(a.name)),`; @expand(R_PassKindTable a) `sizeof(R_PassParams_$(a.name))`;
} }
+4 -6
View File
@@ -83,14 +83,12 @@ TG_KindTable:
`LastIncomplete = TG_Kind_IncompleteEnum`, `LastIncomplete = TG_Kind_IncompleteEnum`,
} }
@table_gen_data(type:U8, fallback:0) @data(U8) tg_kind_basic_byte_size_table:
tg_kind_basic_byte_size_table:
{ {
@expand(TG_KindTable a) `$(a.basic_byte_size),`; @expand(TG_KindTable a) `$(a.basic_byte_size)`;
} }
@table_gen_data(type:String8, fallback:`{0}`) @data(String8) tg_kind_basic_string_table:
tg_kind_basic_string_table:
{ {
@expand(TG_KindTable a) `str8_lit_comp("$(a.basic_string)"),`; @expand(TG_KindTable a) `str8_lit_comp("$(a.basic_string)")`;
} }