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