Saltar al contenido

33 · Compilación

compile y bundle

`zolo compile` muestra el Lua generado para la VM; `zolo bundle` agrupa la entrada y sus módulos en un único archivo Lua portátil.

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.

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!

Requiere la CLI o el host de Zolo; ábrelo en el playground o ejecútalo localmente.

Usa zolo compile / zolo bundle cuando 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, prefiere zolo build (capítulo 30) o zolo build --emit zex (capítulo 31).

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br