compile y bundle
En esta página
Mientras que zolo build produce código máquina nativo, los comandos compile
y bundle operan en el pipeline VM/Lua — el mismo que zolo run usa
internamente.
zolo compile imprime en stdout el código Lua generado para el archivo fuente.
Es útil para inspeccionar cómo Zolo transpila expresiones, closures o f-strings
antes de que la VM los ejecute.
zolo bundle va más allá: recorre la entrada y todos sus módulos importados,
aplana todo en un único archivo Lua autocontenido y escribe el resultado en la
ruta indicada por -o. El archivo resultante puede enviarse a cualquier runtime
Lua 5.1 sin depender de la toolchain de Zolo.
zolo compile muestra el Lua de greet; zolo bundle -o app.lua escribe el programa completo en un archivo portátil.
// 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!
Requiere la CLI o el host de Zolo; ábrelo en el playground o ejecútalo localmente.
Usa
zolo compile/zolo bundlecuando necesites inspeccionar la salida intermedia de la VM o generar un artefacto Lua para entornos que no soportan el runtime nativo de Zolo. Para un binario standalone, prefierezolo build(capítulo 30) ozolo build --emit zex(capítulo 31).
Consulta también