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