IMCC Command-Line Options
Since
IMCC is both an assembler and a Parrot
bytecode interpreter, it has options to control both behaviors. Some
options may have changed by the time you read this, especially
options related to debugging and optimization. The document
languages/imcc/docs/running.pod
should have the latest details.
General Usage
imcc [options] file [arguments]
The file
is either an
.imc or .pasm source file
or a Parrot bytecode file. Parrot creates a
PerlArray
object to hold the command-line
arguments
and stores it in
P0
on program start.
Assembler Options
-
-a, --pasm
Assume PASM input on
stdin
. When IMCC runs a source file with a.pasm
extension, it parses the file as pure PASM code. This switch turns on PASM parsing (instead of the default PIR parsing) when a source file is read fromstdin
.-
-c
,--pbc
Assume PBC file on
stdin
. When IMCC runs a bytecode file with a.pbc
extension, it immediately executes the file. This option tells IMCC to immediately execute a bytecode file piped in onstdin
.-
-d
,--debug [
hexbits
]
Turn on debugging output. The
-d
switch takes an optional argument, which is a hex value of debug bits. The individual bits are shown in Table 7-1. Whenhexbits
isn’t specified, the default debugging level is 0001. If thehexbits
is separated from the-d
switch by whitespace, it has to start with a number.Table 7-1. Debug bits
Description
Debug bit
DEBUG_PARROT
0001
DEBUG_LEXER
0002
DEBUG_PARSER
0004
DEBUG_IMC
0008
DEBUG_CFG
0010
DEBUG_OPT1
0020
Get Perl 6 Essentials now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.