1PARROT(1) User Contributed Perl Documentation PARROT(1)
2
3
4
6 parrot - Parrot Virtual Machine
7
9 parrot [-options] <file> [arguments ...]
10
12 Parrot is a virtual machine designed to efficiently compile and execute
13 bytecode for dynamic languages. Parrot currently hosts a variety of
14 language implementations in various stages of completion, including
15 Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a
16 .NET bytecode translator. Parrot is not about parrots, but we are
17 rather fond of them, for obvious reasons.
18
20 -h
21 --help Print the option summary on the command line.
22 -V
23 --version Print version information and exit.
24 -I
25 --include Add "path" to the include search path.
26 -L
27 --library Add "path" to the library search path.
28 --hash-seed [hexnum]
29 Sets the hash seed to the specified value. This option is useful
30 for debugging intermittent failures, but should not be used in
31 production. For more information about this option, see
32 docs/dev/profiling.pod, docs/project/hacking_tips.pod,
33 docs/running.pod, and docs/submissions.pod.
34
35 -X
36 --dynext Add "path" to the dynamic extension search path.
37
38 Run core options
39 These options select the runcore, which is useful for performance
40 tuning and debugging. For more information about these options, see
41 the "About runcores" section in docs/running.pod.
42
43 -R
44 --runcore [CORE]
45 Select the runcore. The following cores are available in Parrot,
46 but not all may be available on your system:
47
48 fast bare-bones core without bounds-checking or
49 context-updating (default)
50
51 slow, bounds bounds checking core
52
53 trace bounds checking core with trace info
54 (see 'parrot --help-debug')
55
56 profiling see F<docs/dev/profiling.pod>
57
58 subprof subroutine-level profiler
59 (see POD in F<src/runcore/subprof.c>)
60
61 -p
62 --profile Run with the slow core and print an execution profile.
63 -t
64 --trace Run with the slow core and print trace information to
65 stderr.
66 See "parrot --help-debug" for available flag bits.
67
68 VM options
69 -D
70 --parrot-debug[=HEXFLAGS]
71 Turn on interpreter debug flag. See "parrot --help-debug" for
72 available flag bits.
73
74 --help-debug Print the summary of debugging and tracing flag bits.
75 -w
76 --warnings Turn on warnings.
77 See "parrot --help-debug" for available flag bits.
78
79 -G
80 --no-gc Turn off GC.
81 This may prove useful for finding GC-related bugs.
82
83 Note: Do not use this option for longer running programs:
84 since memory is no longer recycled, it may quickly
85 become exhausted.
86
87 -g
88 --gc [GC-type]
89
90 GC MS2 options
91
92 --gc-dynamic-threshold=percentage
93 Maximum memory wasted by GC
94
95 --gc-min-threshold=Kb
96
97 GC GMS options
98
99 --gc-nursery-size=percent of system
100 Size of gen0 (default 2)
101
102 --gc-debug Turn on GC (Garbage Collection) debugging.
103 This imposes some stress on the GC subsystem and can considerably
104 slow down execution.
105
106 --leak-test|--destroy-at-end
107 Free all memory of the last interpreter. This is useful when
108 running leak checkers.
109
110 -.
111 --wait Read a keystroke before starting.
112 This is useful when you want to attach a debugger on platforms such
113 as Windows.
114
115 --runtime-prefix
116 Print the runtime prefix path and exit.
117
118 --numthreads <number>
119 Overrides the automatically detected number of CPU cores to set the
120 number of OS threads. Minimum number: 2
121
122 Compiler options
123 -O[level]
124 Valid optimizer levels: "-O", "-O1", "-O2", "-Op"
125
126 -O1 enables the pre_optimizer, runs before control flow graph (CFG)
127 is built. It includes strength reduction and rewrites certain
128 if/branch/label constructs.
129
130 -O2 runs afterwards, handles constant propagation, jump
131 optimizations, removal of unused labels and dead code.
132
133 -Op applies -O2 to pasm files also.
134
135 The old options -Oc (tailcall) and -Oj are currently ineffective.
136
137 -O defaults to -O1.
138
139 -d[=HEXFLAGS]
140 --imcc-debug[=HEXFLAGS]
141 Turn on compiler debug flags. See "parrot --help-debug" for
142 available flag bits.
143
144 -E
145 --pre-process-only
146 Preprocess source file (expand macros) and print result to
147 "stdout":
148
149 $> parrot -E t/op/macro_10.pasm
150 $> parrot -E t/op/macro_10.pasm | parrot -- -
151
152 -o
153 --output=FILE Act like an assembler, but do not execute the code,
154 unless the -r is supplied as well. If 'outputfile' ends with .pbc,
155 'parrot' will write a PBC file. If it ends with .pasm, 'parrot'
156 will output a PASM file, even from PASM input.
157
158 --output-pbc Act like an assembler, but always output bytecode,
159 even if the output file does not end in .pbc
160
161 -a
162 --pasm Assume PASM input on "stdin".
163 -c
164 --pbc Assume PBC file on "stdin" and execute it.
165 NOTE: If whitespace separates the -d switch from the argument, the
166 argument must start with a number, i.e., a decimal digit.
167
168 -r
169 --run-pbc Only useful after "-o" or "--output-pbc".
170 Execute the program from the compiled in-memory image. If two "-r"
171 options are supplied, the .pbc file is read from disc and executed.
172 This is needed, primarily, for tests.
173
174 -y
175 --yydebug Turn on yydebug in yacc/bison.
176 -v
177 --verbose Turn on compiler verbosity.
178
179 <file>
180 If the file ends in .pbc it will be interpreted immediately.
181
182 If the file ends in .pasm, then it is parsed as PASM code. Otherwise,
183 it is parsed as PIR code. In both cases, it will then be executed,
184 unless the "-o" flag was supplied.
185
186 If the "file" is a single dash, input from "stdin" is read.
187
188 [arguments ...]
189 Optional arguments passed to the running program as ARGV. The program
190 is assumed to know what to do with the arguments.
191
193 PARROT_RUNTIME
194 If this environment variable is set, parrot will use this path as
195 its runtime prefix instead of the compiled-in path. This is useful
196 if you want to execute a version of parrot different from the one
197 on the "compiled-in" path.
198
199 PARROT_GC_DEBUG
200 Turn on the --gc-debug flag.
201
203 'docs/running.pod' Additional information on command line
204 options.
205
206 http://www.parrot.org/ The official Parrot web site.
207
208 http://docs.parrot.org/ Parrot's official documentation site.
209
210 http://parrot.github.com/ An alternative documentation site.
211
213 For information on how to submit a bug report, see
214 docs/submissions.pod.
215
217 Parrot is a product of the contributions of a great many people. For a
218 list of most of these people, see CREDITS.
219
221 Copyright (C) 2001-2014, Parrot Foundation.
222
223
224
225perl v5.28.0 2016-02-15 PARROT(1)