feat: execute Bro-compatible integer range loops

This commit is contained in:
2026-10-10 01:47:30 +02:00
parent d51ca57c9e
commit cf39481bfc
16 changed files with 1416 additions and 16 deletions
+22
View File
@@ -94,6 +94,28 @@ render_block proc(renderer @mut Renderer, tree @ast.Tree, block ast.NodeId, dept
try append_text(renderer, "\n")
try render_block(renderer, tree, loop.body, depth + 1)
}
.for_stmt: {
loop :: ast.for_stmt(tree, statement)
try append_text(renderer, "for ")
try append_text(renderer, ast.source_text(tree, ast.node_span(tree, loop.iterable)))
try append_text(renderer, " |")
if (loop.pointer_capture) try append_text(renderer, "@")
if (loop.capture) |capture| {
try append_text(renderer, ast.source_text(tree, ast.node_span(tree, capture)))
} else {
try append_text(renderer, "_")
}
if (loop.index_capture) {
try append_text(renderer, ", ")
if (loop.index) |index| {
try append_text(renderer, ast.source_text(tree, ast.node_span(tree, index)))
} else {
try append_text(renderer, "_")
}
}
try append_text(renderer, "|\n")
try render_block(renderer, tree, loop.body, depth + 1)
}
.invalid: try append_text(renderer, "invalid statement\n")
}
}