dwww Home | Manual pages | Find package

LUAC(1)                     General Commands Manual                     LUAC(1)

NAME
       luac - Lua compiler

SYNOPSIS
       luac [ options ] [ filenames ]

DESCRIPTION
       luac  is  the  Lua  compiler.  It translates programs written in the Lua
       programming language into binary files that can be later loaded and exe-
       cuted.

       The main advantages of precompiling chunks are: faster loading, protect-
       ing source code from accidental user changes, and off-line syntax check-
       ing.

       Pre-compiling does not imply faster execution because in Lua chunks  are
       always  compiled  into bytecodes before being executed.  luac simply al-
       lows those bytecodes to be saved in a file for later execution.

       Pre-compiled chunks are not necessarily smaller than  the  corresponding
       source.  The main goal in pre-compiling is faster loading.

       The  binary  files created by luac are portable only among architectures
       with the same word size and byte order.

       luac produces a single output file  containing  the  bytecodes  for  all
       source  files given.  By default, the output file is named luac.out, but
       you can change this with the -o option.

       In the command line, you can mix text files containing  Lua  source  and
       binary  files  containing precompiled chunks.  This is useful to combine
       several precompiled chunks, even from different (but  compatible)  plat-
       forms, into a single precompiled chunk.

       You can use '-' to indicate the standard input as a source file and '--'
       to  signal  the end of options (that is, all remaining arguments will be
       treated as files even if they start with '-').

       The internal format of the binary files produced by luac  is  likely  to
       change when a new version of Lua is released.  So, save the source files
       of all Lua programs that you precompile.

OPTIONS
       Options must be separate.

       -l     produce  a listing of the compiled bytecode for Lua's virtual ma-
              chine.  Listing bytecodes is useful to learn about Lua's  virtual
              machine.   If  no  files  are given, then luac loads luac.out and
              lists its contents.

       -o file
              output to file, instead of the default luac.out.   (You  can  use
              '-'  for standard output, but not on platforms that open standard
              output in text mode.)  The output file may be a source  file  be-
              cause all files are loaded before the output file is written.  Be
              careful not to overwrite precious files.

       -p     load  files but do not generate any output file.  Used mainly for
              syntax checking and for  testing  precompiled  chunks:  corrupted
              files will probably generate errors when loaded.  Lua always per-
              forms  a thorough integrity test on precompiled chunks.  Bytecode
              that passes this test is completely safe, in the  sense  that  it
              will  not  break the interpreter.  However, there is no guarantee
              that such code does anything sensible.  (None can be  given,  be-
              cause the halting problem is unsolvable.)  If no files are given,
              then luac loads luac.out and tests its contents.  No messages are
              displayed if the file passes the integrity test.

       -s     strip  debug  information  before  writing the output file.  This
              saves some space in very large chunks, but if errors  occur  when
              running a stripped chunk, then the error messages may not contain
              the full information they usually do.  For instance, line numbers
              and names of local variables are lost.

       -v     show version information.

FILES
       luac.out       default output file

SEE ALSO
       lua(1)
       http://www.lua.org/

DIAGNOSTICS
       Error messages should be self explanatory.

AUTHORS
       L. H. de Figueiredo, R. Ierusalimschy and W. Celes

                          $Date: 2006/01/06 16:03:34 $                  LUAC(1)

Generated by dwww version 1.16 on Tue Dec 16 06:22:07 CET 2025.