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,
}
@table_gen_data(type:U32, fallback:0)
ctrl_exception_code_kind_code_table:
@data(U32) ctrl_exception_code_kind_code_table:
{
`0,`;
@expand(CTRL_ExceptionCodeKindTable a) `$(a.code),`;
`0`;
@expand(CTRL_ExceptionCodeKindTable a) `$(a.code)`;
}
@table_gen_data(type:String8, fallback:`{0}`)
ctrl_exception_code_kind_display_string_table:
@data(String8) ctrl_exception_code_kind_display_string_table:
{
`{0},`;
@expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.display_string)"),`;
`{0}`;
@expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.display_string)")`;
}
@table_gen_data(type:String8, fallback:`{0}`)
ctrl_exception_code_kind_lowercase_code_string_table:
@data(String8) ctrl_exception_code_kind_lowercase_code_string_table:
{
`{0},`;
@expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.lower_name)"),`;
`{0}`;
@expand(CTRL_ExceptionCodeKindTable a) `str8_lit_comp("$(a.lower_name)")`;
}
@table_gen_data(type:B8, fallback:0)
ctrl_exception_code_kind_default_enable_table:
@data(B8) ctrl_exception_code_kind_default_enable_table:
{
`0,`;
@expand(CTRL_ExceptionCodeKindTable a) `$(a.default),`;
`0`;
@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)`;
}
@table_gen_data(type:Rng1U64, fallback:0)
df_g_cmd_param_slot_range_table:
@data(Rng1U64) df_g_cmd_param_slot_range_table:
{
`{0},`
@expand(DF_CmdParamSlotTable a)
`{OffsetOf(DF_CmdParams, $(a.name_lower)), OffsetOf(DF_CmdParams, $(a.name_lower)) + sizeof($(a.c_type))},`
`{0}`,
@expand(DF_CmdParamSlotTable a) `{OffsetOf(DF_CmdParams, $(a.name_lower)), OffsetOf(DF_CmdParams, $(a.name_lower)) + sizeof($(a.c_type))}`,
}
//- rjf: entity kind tables
@table_gen_data(type: DF_IconKind, fallback: `DF_IconKind_Null`)
df_g_entity_kind_icon_kind_table:
@data(DF_IconKind) 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}`)
df_g_entity_kind_display_string_table:
@data(String8) 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}`)
df_g_entity_kind_name_label_table:
@data(String8) 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`)
df_g_entity_kind_flags_table:
@data(DF_EntityKindFlags) 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`)
df_g_entity_kind_op_flags_table:
@data(DF_EntityOpFlags) 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
@table_gen_data(type: String8, fallback: DF_CoreCmdKind_Null)
df_g_cfg_src_string_table:
@data(String8) 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)
df_g_cfg_src_load_cmd_kind_table:
@data(DF_CoreCmdKind) 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)
df_g_cfg_src_write_cmd_kind_table:
@data(DF_CoreCmdKind) 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)
df_g_cfg_src_apply_cmd_kind_table:
@data(DF_CoreCmdKind) 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
@table_gen
{
``;
@expand(DF_CoreViewRuleTable a)
`$(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 .. ");")`;
@expand(DF_CoreViewRuleTable a) `$(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
@table_gen_data(type: DF_CmdSpecInfo, fallback: `{0}`) @c_file
df_g_core_cmd_kind_spec_info_table:
@data(DF_CmdSpecInfo) @c_file df_g_core_cmd_kind_spec_info_table:
{
@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
@table_gen_data(type: DF_CoreViewRuleSpecInfo, fallback: `{0}`) @c_file
df_g_core_view_rule_spec_info_table:
@data(DF_CoreViewRuleSpecInfo) @c_file df_g_core_view_rule_spec_info_table:
{
@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
@table_gen_data(type: String8, fallback: `{0}`)
df_g_icon_kind_text_table:
@data(String8) df_g_icon_kind_text_table:
{
@expand(DF_IconTable a)
`str8_lit_comp("$(a.text)"),`;
@expand(DF_IconTable a) `str8_lit_comp("$(a.text)")`;
}
//- rjf: instruction metadata table
-1
View File
@@ -409,7 +409,6 @@ B32 prefer_dasm;
B32 force_confirm;
};
DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(array);
DF_CORE_VIEW_RULE_EVAL_RESOLUTION_FUNCTION_DEF(bswap);
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
@table_gen_data(type: String8, fallback: `{0}`)
df_g_theme_preset_display_string_table:
@data(String8) 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}`)
df_g_theme_preset_code_string_table:
@data(String8) 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}`)
df_g_theme_preset_colors__default_dark:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__default_light:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__vs_dark:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__vs_light:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__solarized_dark:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__solarized_light:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__handmade_hero:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__four_coder:
@data(Vec4F32) 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}`)
df_g_theme_preset_colors__far_manager:
@data(Vec4F32) 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`)
df_g_theme_preset_colors_table:
@data(`Vec4F32*`) 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
@table_gen_data(type: DF_CmdParamSlot, fallback:`DF_CmdParamSlot_Null`)
df_g_cmd_param_slot_2_view_spec_src_map:
@data(DF_CmdParamSlot) 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}`)
df_g_cmd_param_slot_2_view_spec_dst_map:
@data(String8) 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}`)
df_g_cmd_param_slot_2_view_spec_cmd_map:
@data(String8) 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
@table_gen_data(type: DF_StringBindingPair, fallback: `{0}`)
df_g_default_binding_table:
@data(DF_StringBindingPair) 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
@table_gen_data(type: String8, fallback: `{0}`)
df_g_binding_version_remap_old_name_table:
@data(String8) 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}`)
df_g_binding_version_remap_new_name_table:
@data(String8) 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
@@ -561,33 +543,29 @@ df_g_binding_version_remap_new_name_table:
//- rjf: gfx view rule tables
@table_gen_data(type: DF_GfxViewRuleSpecInfo, fallback: `{0}`) @c_file
df_g_gfx_view_rule_spec_info_table:
@data(DF_GfxViewRuleSpecInfo) @c_file df_g_gfx_view_rule_spec_info_table:
{
@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
@table_gen_data(type: DF_ViewSpecInfo, fallback: `{0}`)
df_g_gfx_view_kind_spec_info_table:
@data(DF_ViewSpecInfo) 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
@table_gen_data(type: String8, fallback: `str8_lit_comp("")`)
df_g_theme_color_display_string_table:
@data(String8) 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("")`)
df_g_theme_color_cfg_string_table:
@data(String8) 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)")`
}
////////////////////////////////
+1 -1
View File
@@ -786,7 +786,7 @@ rgba_from_u32_lit_comp(0x0000003f),
rgba_from_u32_lit_comp(0x0000007f),
};
Vec4F32 * df_g_theme_preset_colors_table[] =
Vec4F32* df_g_theme_preset_colors_table[] =
{
df_g_theme_preset_colors__default_dark,
df_g_theme_preset_colors__default_light,
+8 -11
View File
@@ -82,26 +82,23 @@ EVAL_ResultCodeTable:
COUNT,
}
@table_gen_data(type:U8, fallback:0)
eval_expr_kind_child_counts:
@data(U8) 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:
{
@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}`)
eval_result_code_display_strings:
@data(String8) 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}`)
eval_expr_op_strings:
@data(String8) 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;
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))
{
String8 element_type = tag->first->string;
String8 layer_key = mg_layer_key_from_path(file->string);
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;
MD_Node *type = md_child_from_string(tag, str8_lit("type"), 0)->first;
MD_Node *fallback = md_child_from_string(tag, str8_lit("fallback"), 0)->first;
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);
String8List gen_strings = mg_string_list_from_table_gen(mg_arena, table_grid_map, table_col_map, str8_lit(""), node);
str8_list_pushf(mg_arena, out, "%S %S[] =\n{\n", element_type, node->string);
for(String8Node *n = gen_strings.first; n != 0; n = n->next)
{
String8 escaped = mg_escaped_from_str8(mg_arena, n->string);
str8_list_push(mg_arena, out, escaped);
str8_list_push(mg_arena, out, str8_lit("\n"));
str8_list_pushf(mg_arena, out, "%S,\n", escaped);
}
str8_list_push(mg_arena, out, str8_lit("};\n\n"));
}
+4 -6
View File
@@ -161,14 +161,12 @@ OS_KeyTable:
COUNT,
}
@table_gen_data(type: String8, fallback:`{0}`)
os_g_key_display_string_table:
@data(String8) 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}`)
os_g_key_cfg_string_table:
@data(String8) 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)`,
}
@table_gen_data(type:REGS_UsageKind, fallback:`REGS_UsageKind_Normal`)
regs_g_reg_code_x64_usage_kind_table:
@data(REGS_UsageKind) regs_g_reg_code_x64_usage_kind_table:
{
`REGS_UsageKind_Normal,`;
@expand(REGS_RegTableX64 a) `REGS_UsageKind_$(a.usage),`;
`REGS_UsageKind_Normal`;
@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_UsageKind_Normal,`;
@expand(REGS_AliasTableX64 a) `REGS_UsageKind_$(a.usage),`;
`REGS_UsageKind_Normal`;
@expand(REGS_AliasTableX64 a) `REGS_UsageKind_$(a.usage)`;
}
@table_gen_data(type:String8, fallback:`{0}`)
regs_g_reg_code_x64_string_table:
@data(String8) regs_g_reg_code_x64_string_table:
{
`str8_lit_comp(""),`;
@expand(REGS_RegTableX64 a) `str8_lit_comp("$(a.name)"),`;
`str8_lit_comp("")`;
@expand(REGS_RegTableX64 a) `str8_lit_comp("$(a.name)")`;
}
@table_gen_data(type:String8, fallback:`{0}`)
regs_g_alias_code_x64_string_table:
@data(String8) regs_g_alias_code_x64_string_table:
{
`str8_lit_comp(""),`;
@expand(REGS_AliasTableX64 a) `str8_lit_comp("$(a.name)"),`;
`str8_lit_comp("")`;
@expand(REGS_AliasTableX64 a) `str8_lit_comp("$(a.name)")`;
}
@table_gen_data(type: REGS_Rng, fallback: `{0}`)
regs_g_reg_code_x64_rng_table:
@data(REGS_Rng) regs_g_reg_code_x64_rng_table:
{
`{0},`;
@expand(REGS_RegTableX64 a) `{(U16)OffsetOf(REGS_RegBlockX64, $(a.name)), $(a.size/8)},`,
`{0}`;
@expand(REGS_RegTableX64 a) `{(U16)OffsetOf(REGS_RegBlockX64, $(a.name)), $(a.size/8)}`,
}
@table_gen_data(type: REGS_Slice, fallback: `{0}`)
regs_g_alias_code_x64_slice_table:
@data(REGS_Slice) regs_g_alias_code_x64_slice_table:
{
`{0},`;
@expand(REGS_AliasTableX64 a) `{REGS_RegCodeX64_$(a.base), $(a.off/8), $(a.size/8)},`,
`{0}`;
@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)`,
}
@table_gen_data(type:REGS_UsageKind, fallback:`REGS_UsageKind_Normal`)
@data(REGS_UsageKind)
regs_g_reg_code_x86_usage_kind_table:
{
`REGS_UsageKind_Normal,`;
@expand(REGS_RegTableX86 a) `REGS_UsageKind_$(a.usage),`;
`REGS_UsageKind_Normal`;
@expand(REGS_RegTableX86 a) `REGS_UsageKind_$(a.usage)`;
}
@table_gen_data(type:REGS_UsageKind, fallback:`REGS_UsageKind_Normal`)
regs_g_alias_code_x86_usage_kind_table:
@data(REGS_UsageKind) regs_g_alias_code_x86_usage_kind_table:
{
`REGS_UsageKind_Normal,`;
@expand(REGS_AliasTableX86 a) `REGS_UsageKind_$(a.usage),`;
`REGS_UsageKind_Normal`;
@expand(REGS_AliasTableX86 a) `REGS_UsageKind_$(a.usage)`;
}
@table_gen_data(type:String8, fallback:`{0}`)
regs_g_reg_code_x86_string_table:
@data(String8) regs_g_reg_code_x86_string_table:
{
`str8_lit_comp(""),`;
@expand(REGS_RegTableX86 a) `str8_lit_comp("$(a.name)"),`;
`str8_lit_comp("")`;
@expand(REGS_RegTableX86 a) `str8_lit_comp("$(a.name)")`;
}
@table_gen_data(type:String8, fallback:`{0}`)
regs_g_alias_code_x86_string_table:
@data(String8) regs_g_alias_code_x86_string_table:
{
`str8_lit_comp(""),`;
@expand(REGS_AliasTableX86 a) `str8_lit_comp("$(a.name)"),`;
`str8_lit_comp("")`;
@expand(REGS_AliasTableX86 a) `str8_lit_comp("$(a.name)")`;
}
@table_gen_data(type: REGS_Rng, fallback: `{0}`)
regs_g_reg_code_x86_rng_table:
@data(REGS_Rng) regs_g_reg_code_x86_rng_table:
{
`{0},`;
@expand(REGS_RegTableX86 a) `{(U16)OffsetOf(REGS_RegBlockX86, $(a.name)), $(a.size/8)},`,
`{0}`;
@expand(REGS_RegTableX86 a) `{(U16)OffsetOf(REGS_RegBlockX86, $(a.name)), $(a.size/8)}`,
}
@table_gen_data(type: REGS_Slice, fallback: `{0}`)
regs_g_alias_code_x86_slice_table:
@data(REGS_Slice) regs_g_alias_code_x86_slice_table:
{
`{0},`;
@expand(REGS_AliasTableX86 a) `{REGS_RegCodeX86_$(a.base), $(a.off/8), $(a.size/8)},`,
`{0}`;
@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,
}
@c_file @table_gen_data(type:String8, fallback:`{0}`)
@c_file @data(String8)
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:
{
@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:
{
@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:
{
@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:
{
@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:
{
@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:
{
@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,
}
@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`,
}
@table_gen_data(type:U8, fallback:0)
tg_kind_basic_byte_size_table:
@data(U8) 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}`)
tg_kind_basic_string_table:
@data(String8) 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)")`;
}