Pular para o conteúdo

33 · Compilação

compile e bundle

`zolo compile` mostra o Lua gerado para a VM; `zolo bundle` agrupa a entrada e seus módulos em um único arquivo Lua portátil.

Nesta página

Enquanto zolo build produz código de máquina nativo, os comandos compile e bundle operam no pipeline VM/Lua — o mesmo que zolo run usa internamente.

zolo compile imprime no stdout o código Lua gerado para o arquivo fonte. É útil para inspecionar como o Zolo transpila expressões, closures ou f-strings antes de a VM executá-las.

zolo bundle vai além: ele percorre a entrada e todos os seus módulos importados, achata tudo em um único arquivo Lua autocontido e grava o resultado no caminho indicado por -o. O arquivo resultante pode ser enviado a qualquer runtime Lua 5.1 sem depender da toolchain do Zolo.

zolo compile mostra o Lua de greet; zolo bundle -o app.lua grava o programa completo em um arquivo portátil.

05-compile-and-bundle.zolo
Playground
// Feature: source-level outputs — `zolo compile` and `zolo bundle`
// Syntax: `zolo compile file.zolo`  |  `zolo bundle file.zolo -o out.lua`
// When to use: `compile` shows the generated Lua source for the VM
//   target; `bundle` flattens an entry file + its modules into one Lua
//   file you can ship to any Lua 5.1 runtime.

// Run:
//   zolo compile 30-compilation/05-compile-and-bundle.zolo
//     # prints generated Lua to stdout
//   zolo bundle  30-compilation/05-compile-and-bundle.zolo -o app.lua
//     # writes a single self-contained Lua file
//
// These targets are about the VM/Lua pipeline (what `zolo run` uses),
// as opposed to `zolo build` which produces native machine code.

fn greet(name: str) -> str {
  return "Hello, {name}!"
}

print(greet("world"))

// expected (when run): Hello, world!

Requer a CLI/host do Zolo — abra no playground ou rode localmente.

Use zolo compile / zolo bundle quando precisar inspecionar a saída intermediária da VM ou gerar um artefato Lua para ambientes que não suportam o runtime nativo do Zolo. Para um binário standalone, prefira zolo build (capítulo 30) ou zolo build --emit zex (capítulo 31).

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br