NAME ^

compilers/imcc/main.c

DESCRIPTION ^

IMCC main function and helpers.

Functions ^

static void usage

Outputs usage error message.

static void help_debug

Print out list of debugging flag values.

static void help

Print out "help" list of options.

static void Parrot_version

Print out parrot version number and copyright message. Include warning if configuration and build were done at different revision numbers (applies only when working from repository -- not from release versions).

static int is_all_hex_digits

Tests all characters in a string are hexadecimal digits. Returns 1 if true, 0 as soon as a non-hex found

const char *parseflags

Parse Parrot's command line for options and set appropriate flags.

static void do_pre_process

Pre-processor step. Turn parser's output codes into Parrot instructions.

static void imcc_get_optimization_description

Create list (opt_desc[]) describing optimisation flags.

void imcc_initialize

Initialise interpreter and set optimisation level.

static void imcc_run_pbc

Write out or run Parrot bytecode. RT#46149 no return value :-(

static void imcc_write_pbc

Output packed bytecode file.

static void determine_input_file_type

Read in the source and determine whether it's Parrot bytecode or PASM

static void determine_output_file_type

Decide what kind of file we are to output.

static void compile_to_bytecode

Compile source code into bytecode (or die trying).

int imcc_run

Entry point of IMCC, as invoked by Parrot's main function. Compile source code (if required), write bytecode file (if required) and run. This function always returns 0.


parrot