123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- <!-- $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>
|