Reordered counters

This commit is contained in:
Eduard Urbach 2024-07-16 11:44:10 +02:00
parent 1bf288b8fd
commit c925fe69b3
Signed by: eduard
GPG key ID: 49226B848C78F6C8
4 changed files with 11 additions and 8 deletions

View file

@ -9,9 +9,12 @@ import (
// CompileLoop compiles a loop instruction.
func (f *Function) CompileLoop(loop *ast.Loop) error {
f.count.loop++
label := fmt.Sprintf("%s_loop_%d", f.Name, f.count.loop)
f.AddLabel(label)
defer f.Jump(asm.JUMP, label)
f.count.loop++
return f.CompileAST(loop.Body)
f.pushScope()
err := f.CompileAST(loop.Body)
f.popScope()
f.Jump(asm.JUMP, label)
return err
}