mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-11-04 10:16:02 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			146 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!-- $Id: luac.man,v 1.28 2006/01/06 16:03:34 lhf Exp $ -->
 | 
						|
<HTML>
 | 
						|
<HEAD>
 | 
						|
<TITLE>LUAC man page</TITLE>
 | 
						|
<LINK REL="stylesheet" TYPE="text/css" HREF="lua.css">
 | 
						|
</HEAD>
 | 
						|
 | 
						|
<BODY BGCOLOR="#FFFFFF">
 | 
						|
 | 
						|
<H2>NAME</H2>
 | 
						|
luac - Lua compiler
 | 
						|
<H2>SYNOPSIS</H2>
 | 
						|
<B>luac</B>
 | 
						|
[
 | 
						|
<I>options</I>
 | 
						|
] [
 | 
						|
<I>filenames</I>
 | 
						|
]
 | 
						|
<H2>DESCRIPTION</H2>
 | 
						|
<B>luac</B>
 | 
						|
is the Lua compiler.
 | 
						|
It translates programs written in the Lua programming language
 | 
						|
into binary files that can be later loaded and executed.
 | 
						|
<P>
 | 
						|
The main advantages of precompiling chunks are:
 | 
						|
faster loading,
 | 
						|
protecting source code from accidental user changes,
 | 
						|
and
 | 
						|
off-line syntax checking.
 | 
						|
<P>
 | 
						|
Precompiling does not imply faster execution
 | 
						|
because in Lua chunks are always compiled into bytecodes before being executed.
 | 
						|
<B>luac</B>
 | 
						|
simply allows those bytecodes to be saved in a file for later execution.
 | 
						|
<P>
 | 
						|
Precompiled chunks are not necessarily smaller than the corresponding source.
 | 
						|
The main goal in precompiling is faster loading.
 | 
						|
<P>
 | 
						|
The binary files created by
 | 
						|
<B>luac</B>
 | 
						|
are portable only among architectures with the same word size and byte order.
 | 
						|
<P>
 | 
						|
<B>luac</B>
 | 
						|
produces a single output file containing the bytecodes
 | 
						|
for all source files given.
 | 
						|
By default,
 | 
						|
the output file is named
 | 
						|
<B>luac.out</B>,
 | 
						|
but you can change this with the
 | 
						|
<B>-o</B>
 | 
						|
option.
 | 
						|
<P>
 | 
						|
In the command line,
 | 
						|
you can mix
 | 
						|
text files containing Lua source and
 | 
						|
binary files containing precompiled chunks.
 | 
						|
This is useful because several precompiled chunks,
 | 
						|
even from different (but compatible) platforms,
 | 
						|
can be combined into a single precompiled chunk.
 | 
						|
<P>
 | 
						|
You can use
 | 
						|
<B>'-'</B>
 | 
						|
to indicate the standard input as a source file
 | 
						|
and
 | 
						|
<B>'--'</B>
 | 
						|
to signal the end of options
 | 
						|
(that is,
 | 
						|
all remaining arguments will be treated as files even if they start with
 | 
						|
<B>'-'</B>).
 | 
						|
<P>
 | 
						|
The internal format of the binary files produced by
 | 
						|
<B>luac</B>
 | 
						|
is likely to change when a new version of Lua is released.
 | 
						|
So,
 | 
						|
save the source files of all Lua programs that you precompile.
 | 
						|
<P>
 | 
						|
<H2>OPTIONS</H2>
 | 
						|
Options must be separate.
 | 
						|
<P>
 | 
						|
<B>-l</B>
 | 
						|
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</B>
 | 
						|
loads
 | 
						|
<B>luac.out</B>
 | 
						|
and lists its contents.
 | 
						|
<P>
 | 
						|
<B>-o </B><I>file</I>
 | 
						|
output to
 | 
						|
<I>file</I>,
 | 
						|
instead of the default
 | 
						|
<B>luac.out</B>.
 | 
						|
(You can use
 | 
						|
<B>'-'</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.
 | 
						|
<P>
 | 
						|
<B>-p</B>
 | 
						|
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</B>
 | 
						|
loads
 | 
						|
<B>luac.out</B>
 | 
						|
and tests its contents.
 | 
						|
No messages are displayed if the file passes the integrity test.
 | 
						|
<P>
 | 
						|
<B>-s</B>
 | 
						|
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.
 | 
						|
<P>
 | 
						|
<B>-v</B>
 | 
						|
show version information.
 | 
						|
<H2>FILES</H2>
 | 
						|
<P>
 | 
						|
<B>luac.out</B>
 | 
						|
default output file
 | 
						|
<H2>SEE ALSO</H2>
 | 
						|
<B>lua</B>(1)
 | 
						|
<BR>
 | 
						|
<A HREF="http://www.lua.org/">http://www.lua.org/</A>
 | 
						|
<H2>DIAGNOSTICS</H2>
 | 
						|
Error messages should be self explanatory.
 | 
						|
<H2>AUTHORS</H2>
 | 
						|
L. H. de Figueiredo,
 | 
						|
R. Ierusalimschy and
 | 
						|
W. Celes
 | 
						|
<!-- EOF -->
 | 
						|
</BODY>
 | 
						|
</HTML>
 |