mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-11-04 02:06:03 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			137 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" $Id: luac.man,v 1.28 2006/01/06 16:03:34 lhf Exp $
 | 
						|
.TH LUAC 1 "$Date: 2006/01/06 16:03:34 $"
 | 
						|
.SH NAME
 | 
						|
luac \- Lua compiler
 | 
						|
.SH SYNOPSIS
 | 
						|
.B luac
 | 
						|
[
 | 
						|
.I options
 | 
						|
] [
 | 
						|
.I filenames
 | 
						|
]
 | 
						|
.SH DESCRIPTION
 | 
						|
.B luac
 | 
						|
is the Lua compiler.
 | 
						|
It translates programs written in the Lua programming language
 | 
						|
into binary files that can be later loaded and executed.
 | 
						|
.LP
 | 
						|
The main advantages of precompiling chunks are:
 | 
						|
faster loading,
 | 
						|
protecting source code from accidental user changes,
 | 
						|
and
 | 
						|
off-line syntax checking.
 | 
						|
.LP
 | 
						|
Pre-compiling does not imply faster execution
 | 
						|
because in Lua chunks are always compiled into bytecodes before being executed.
 | 
						|
.B luac
 | 
						|
simply allows those bytecodes to be saved in a file for later execution.
 | 
						|
.LP
 | 
						|
Pre-compiled chunks are not necessarily smaller than the corresponding source.
 | 
						|
The main goal in pre-compiling is faster loading.
 | 
						|
.LP
 | 
						|
The binary files created by
 | 
						|
.B luac
 | 
						|
are portable only among architectures with the same word size and byte order.
 | 
						|
.LP
 | 
						|
.B luac
 | 
						|
produces a single output file containing the bytecodes
 | 
						|
for all source files given.
 | 
						|
By default,
 | 
						|
the output file is named
 | 
						|
.BR luac.out ,
 | 
						|
but you can change this with the
 | 
						|
.B \-o
 | 
						|
option.
 | 
						|
.LP
 | 
						|
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) platforms,
 | 
						|
into a single precompiled chunk.
 | 
						|
.LP
 | 
						|
You can use
 | 
						|
.B "'\-'"
 | 
						|
to indicate the standard input as a source file
 | 
						|
and
 | 
						|
.B "'\--'"
 | 
						|
to signal the end of options
 | 
						|
(that is,
 | 
						|
all remaining arguments will be treated as files even if they start with
 | 
						|
.BR "'\-'" ).
 | 
						|
.LP
 | 
						|
The internal format of the binary files produced by
 | 
						|
.B 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.
 | 
						|
.LP
 | 
						|
.SH OPTIONS
 | 
						|
Options must be separate.
 | 
						|
.TP
 | 
						|
.B \-l
 | 
						|
produce a listing of the compiled bytecode for Lua's virtual machine.
 | 
						|
Listing bytecodes is useful to learn about Lua's virtual machine.
 | 
						|
If no files are given, then
 | 
						|
.B luac
 | 
						|
loads
 | 
						|
.B luac.out
 | 
						|
and lists its contents.
 | 
						|
.TP
 | 
						|
.BI \-o " file"
 | 
						|
output to
 | 
						|
.IR file ,
 | 
						|
instead of the default
 | 
						|
.BR luac.out .
 | 
						|
(You can use
 | 
						|
.B "'\-'"
 | 
						|
for standard output,
 | 
						|
but not on platforms that open standard output in text mode.)
 | 
						|
The output file may be a source file because
 | 
						|
all files are loaded before the output file is written.
 | 
						|
Be careful not to overwrite precious files.
 | 
						|
.TP
 | 
						|
.B \-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 performs 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, because the halting problem is unsolvable.)
 | 
						|
If no files are given, then
 | 
						|
.B luac
 | 
						|
loads
 | 
						|
.B luac.out
 | 
						|
and tests its contents.
 | 
						|
No messages are displayed if the file passes the integrity test.
 | 
						|
.TP
 | 
						|
.B \-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.
 | 
						|
.TP
 | 
						|
.B \-v
 | 
						|
show version information.
 | 
						|
.SH FILES
 | 
						|
.TP 15
 | 
						|
.B luac.out
 | 
						|
default output file
 | 
						|
.SH "SEE ALSO"
 | 
						|
.BR lua (1)
 | 
						|
.br
 | 
						|
http://www.lua.org/
 | 
						|
.SH DIAGNOSTICS
 | 
						|
Error messages should be self explanatory.
 | 
						|
.SH AUTHORS
 | 
						|
L. H. de Figueiredo,
 | 
						|
R. Ierusalimschy and
 | 
						|
W. Celes
 | 
						|
.\" EOF
 |