new table format, templating mt_printf

This commit is contained in:
Krzosa Karol
2025-01-21 13:44:41 +01:00
parent 4679f0da48
commit 2b4d641857
10 changed files with 151 additions and 130 deletions

View File

@@ -2,7 +2,6 @@ void mt_app(ma_arena_t *arena) {
sb8_t *h = sb8_serial_begin(arena);
sb8_t *c = sb8_serial_begin(arena);
ast_t *keys = mtt_parse(arena, __FILE__, S8_CODE(
// javascript filter out
{ name js1 js2 jf windows1 windows2 }
@@ -89,7 +88,7 @@ void mt_app(ma_arena_t *arena) {
c->indent += 1;
{
sb8_stmtf(c, "if (0) {}");
for (mtt_iter_t it = mtt_iterate(c->arena, keys); mtt_is_valid(it); mtt_advance(&it)) {
for (ast_t *it = keys->first; it; it = it->next) {
assert(mtt(it, "jf")->integer == 0 || mtt(it, "jf")->integer == 1);
s8_t js[] = {mtts(it, "js1"), mtts(it, "js2")};
for (i32 i = 0; i < lengthof(js); i += 1) {
@@ -111,7 +110,7 @@ void mt_app(ma_arena_t *arena) {
sb8_stmtf(c, "switch(wparam) {");
c->indent += 1;
{
for (mtt_iter_t it = mtt_iterate(c->arena, keys); mtt_is_valid(it); mtt_advance(&it)) {
for (ast_t *it = keys->first; it; it = it->next) {
s8_t w[] = {mtts(it, "windows1"), mtts(it, "windows2")};
for (i32 i = 0; i < lengthof(w); i += 1) {
if (s8_are_equal(w[i], s8_lit("XXX"))) continue;