OLD | NEW |
(Empty) | |
| 1 .\" $Id: luac.man,v 1.29 2011/11/16 13:53:40 lhf Exp $ |
| 2 .TH LUAC 1 "$Date: 2011/11/16 13:53:40 $" |
| 3 .SH NAME |
| 4 luac \- Lua compiler |
| 5 .SH SYNOPSIS |
| 6 .B luac |
| 7 [ |
| 8 .I options |
| 9 ] [ |
| 10 .I filenames |
| 11 ] |
| 12 .SH DESCRIPTION |
| 13 .B luac |
| 14 is the Lua compiler. |
| 15 It translates programs written in the Lua programming language |
| 16 into binary files containing precompiled chunks |
| 17 that can be later loaded and executed. |
| 18 .LP |
| 19 The main advantages of precompiling chunks are: |
| 20 faster loading, |
| 21 protecting source code from accidental user changes, |
| 22 and |
| 23 off-line syntax checking. |
| 24 Precompiling does not imply faster execution |
| 25 because in Lua chunks are always compiled into bytecodes before being executed. |
| 26 .B luac |
| 27 simply allows those bytecodes to be saved in a file for later execution. |
| 28 Precompiled chunks are not necessarily smaller than the corresponding source. |
| 29 The main goal in precompiling is faster loading. |
| 30 .LP |
| 31 In the command line, |
| 32 you can mix |
| 33 text files containing Lua source and |
| 34 binary files containing precompiled chunks. |
| 35 .B luac |
| 36 produces a single output file containing the combined bytecodes |
| 37 for all files given. |
| 38 Executing the combined file is equivalent to executing the given files. |
| 39 By default, |
| 40 the output file is named |
| 41 .BR luac.out , |
| 42 but you can change this with the |
| 43 .B \-o |
| 44 option. |
| 45 .LP |
| 46 Precompiled chunks are |
| 47 .I not |
| 48 portable across different architectures. |
| 49 Moreover, |
| 50 the internal format of precompiled chunks |
| 51 is likely to change when a new version of Lua is released. |
| 52 Make sure you save the source files of all Lua programs that you precompile. |
| 53 .LP |
| 54 .SH OPTIONS |
| 55 .TP |
| 56 .B \-l |
| 57 produce a listing of the compiled bytecode for Lua's virtual machine. |
| 58 Listing bytecodes is useful to learn about Lua's virtual machine. |
| 59 If no files are given, then |
| 60 .B luac |
| 61 loads |
| 62 .B luac.out |
| 63 and lists its contents. |
| 64 Use |
| 65 .B \-l \-l |
| 66 for a full listing. |
| 67 .TP |
| 68 .BI \-o " file" |
| 69 output to |
| 70 .IR file , |
| 71 instead of the default |
| 72 .BR luac.out . |
| 73 (You can use |
| 74 .B "'\-'" |
| 75 for standard output, |
| 76 but not on platforms that open standard output in text mode.) |
| 77 The output file may be one of the given files because |
| 78 all files are loaded before the output file is written. |
| 79 Be careful not to overwrite precious files. |
| 80 .TP |
| 81 .B \-p |
| 82 load files but do not generate any output file. |
| 83 Used mainly for syntax checking and for testing precompiled chunks: |
| 84 corrupted files will probably generate errors when loaded. |
| 85 If no files are given, then |
| 86 .B luac |
| 87 loads |
| 88 .B luac.out |
| 89 and tests its contents. |
| 90 No messages are displayed if the file loads without errors. |
| 91 .TP |
| 92 .B \-s |
| 93 strip debug information before writing the output file. |
| 94 This saves some space in very large chunks, |
| 95 but if errors occur when running a stripped chunk, |
| 96 then the error messages may not contain the full information they usually do. |
| 97 In particular, |
| 98 line numbers and names of local variables are lost. |
| 99 .TP |
| 100 .B \-v |
| 101 show version information. |
| 102 .TP |
| 103 .B \-\- |
| 104 stop handling options. |
| 105 .TP |
| 106 .B \- |
| 107 stop handling options and process standard input. |
| 108 .SH "SEE ALSO" |
| 109 .BR lua (1) |
| 110 .br |
| 111 The documentation at lua.org. |
| 112 .SH DIAGNOSTICS |
| 113 Error messages should be self explanatory. |
| 114 .SH AUTHORS |
| 115 R. Ierusalimschy, |
| 116 L. H. de Figueiredo, |
| 117 W. Celes |
| 118 .\" EOF |
OLD | NEW |