annotate luabuild/lua-5.2.1/doc/luac.1 @ 1087:07b68c71b89c

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