1PARROT(1)             User Contributed Perl Documentation            PARROT(1)
2
3
4

NAME

6       parrot - Parrot Virtual Machine
7

SYNOPSIS

9       parrot [-options] <file> [arguments ...]
10

DESCRIPTION

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

OPTIONS

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

ENVIRONMENT

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

SEE ALSO

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

REPORTING BUGS

213       For information on how to submit a bug report, see
214       docs/submissions.pod.
215

AUTHORS

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)
Impressum