NAME ^

pirout.c - Back-end for outputting PIR.

static target *new_target(char *name)

RT#48260: Not yet documented!!!

static void add_target(emit_data *data, target *t)

RT#48260: Not yet documented!!!

*/

static void add_target(emit_data *data, target *t) { t->next = data->targets; data->targets = t; }

/*

API ^

static void pir_name(struct emit_data *data, char *name)

RT#48260: Not yet documented!!!

static void pir_sub(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_end(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_newline(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_param(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_type(struct emit_data *data, char *type)

RT#48260: Not yet documented!!!

static void pir_sub_flag(struct emit_data *data, int flag)

RT#48260: Not yet documented!!!

static void pir_expr(struct emit_data *data, char *expr)

RT#48260: Not yet documented!!!

static void pir_op(struct emit_data *data, char *op)

RT#48260: Not yet documented!!!

static void pir_list_start(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_list_end(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_sub_flag_start(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_sub_flag_end(struct emit_data *data)

RT#48260: Not yet documented!!!

static void pir_destroy(emit_data *data)

Close the output file, free the emit_data structure.

static void pir_target(emit_data *data, char *target)

RT#48260: Not yet documented!!!

static void pir_begin_return(emit_data *data)

RT#48260: Not yet documented!!!

static void pir_init(emit_data *data)

RT#48260: Not yet documented!!!

static void print_target(emit_data *data, target *t)

print the list of targets stored in emit_data. This is done recursively, and from the end of the list to the front. This is because the items are added at the front, and the order need to be restored. This also allows for freeing any resources.

static void pir_assign(emit_data *data)

RT#48260: Not yet documented!!!

static void pir_assign_start(emit_data *data)

RT#48260: Not yet documented!!!

static void pir_assign_end(emit_data *data)

RT#48260: Not yet documented!!!

static void pir_comp_op(emit_data *data, char *op)

RT#48260: Not yet documented!!!

static void pir_bin_op(emit_data *data, char *op)

RT#48260: Not yet documented!!!

struct pirvtable *init_pir_vtable(char *outputfile)

Creates a vtable for the PIR emitting module, and then this vtable is set into the parser_state struct.


parrot