119 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
		
		
			
		
	
	
			119 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| 
								 | 
							
								.\" $Id: luac.man,v 1.29 2011/11/16 13:53:40 lhf Exp $
							 | 
						||
| 
								 | 
							
								.TH LUAC 1 "$Date: 2011/11/16 13:53:40 $"
							 | 
						||
| 
								 | 
							
								.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 containing precompiled chunks
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								Precompiling 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.
							 | 
						||
| 
								 | 
							
								Precompiled chunks are not necessarily smaller than the corresponding source.
							 | 
						||
| 
								 | 
							
								The main goal in precompiling is faster loading.
							 | 
						||
| 
								 | 
							
								.LP
							 | 
						||
| 
								 | 
							
								In the command line,
							 | 
						||
| 
								 | 
							
								you can mix
							 | 
						||
| 
								 | 
							
								text files containing Lua source and
							 | 
						||
| 
								 | 
							
								binary files containing precompiled chunks.
							 | 
						||
| 
								 | 
							
								.B luac
							 | 
						||
| 
								 | 
							
								produces a single output file containing the combined bytecodes
							 | 
						||
| 
								 | 
							
								for all files given.
							 | 
						||
| 
								 | 
							
								Executing the combined file is equivalent to executing the given files.
							 | 
						||
| 
								 | 
							
								By default,
							 | 
						||
| 
								 | 
							
								the output file is named
							 | 
						||
| 
								 | 
							
								.BR luac.out ,
							 | 
						||
| 
								 | 
							
								but you can change this with the
							 | 
						||
| 
								 | 
							
								.B \-o
							 | 
						||
| 
								 | 
							
								option.
							 | 
						||
| 
								 | 
							
								.LP
							 | 
						||
| 
								 | 
							
								Precompiled chunks are
							 | 
						||
| 
								 | 
							
								.I not
							 | 
						||
| 
								 | 
							
								portable across different architectures.
							 | 
						||
| 
								 | 
							
								Moreover,
							 | 
						||
| 
								 | 
							
								the internal format of precompiled chunks
							 | 
						||
| 
								 | 
							
								is likely to change when a new version of Lua is released.
							 | 
						||
| 
								 | 
							
								Make sure you save the source files of all Lua programs that you precompile.
							 | 
						||
| 
								 | 
							
								.LP
							 | 
						||
| 
								 | 
							
								.SH OPTIONS
							 | 
						||
| 
								 | 
							
								.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.
							 | 
						||
| 
								 | 
							
								Use
							 | 
						||
| 
								 | 
							
								.B \-l \-l
							 | 
						||
| 
								 | 
							
								for a full listing.
							 | 
						||
| 
								 | 
							
								.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 one of the given files 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.
							 | 
						||
| 
								 | 
							
								If no files are given, then
							 | 
						||
| 
								 | 
							
								.B luac
							 | 
						||
| 
								 | 
							
								loads
							 | 
						||
| 
								 | 
							
								.B luac.out
							 | 
						||
| 
								 | 
							
								and tests its contents.
							 | 
						||
| 
								 | 
							
								No messages are displayed if the file loads without errors.
							 | 
						||
| 
								 | 
							
								.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.
							 | 
						||
| 
								 | 
							
								In particular,
							 | 
						||
| 
								 | 
							
								line numbers and names of local variables are lost.
							 | 
						||
| 
								 | 
							
								.TP
							 | 
						||
| 
								 | 
							
								.B \-v
							 | 
						||
| 
								 | 
							
								show version information.
							 | 
						||
| 
								 | 
							
								.TP
							 | 
						||
| 
								 | 
							
								.B \-\-
							 | 
						||
| 
								 | 
							
								stop handling options.
							 | 
						||
| 
								 | 
							
								.TP
							 | 
						||
| 
								 | 
							
								.B \-
							 | 
						||
| 
								 | 
							
								stop handling options and process standard input.
							 | 
						||
| 
								 | 
							
								.SH "SEE ALSO"
							 | 
						||
| 
								 | 
							
								.BR lua (1)
							 | 
						||
| 
								 | 
							
								.br
							 | 
						||
| 
								 | 
							
								The documentation at lua.org.
							 | 
						||
| 
								 | 
							
								.SH DIAGNOSTICS
							 | 
						||
| 
								 | 
							
								Error messages should be self explanatory.
							 | 
						||
| 
								 | 
							
								.SH AUTHORS
							 | 
						||
| 
								 | 
							
								R. Ierusalimschy,
							 | 
						||
| 
								 | 
							
								L. H. de Figueiredo,
							 | 
						||
| 
								 | 
							
								W. Celes
							 | 
						||
| 
								 | 
							
								.\" EOF
							 |