| parrotcode: languages/cola/gen.c | |
| Contents | Language Implementations | Cola |

languages/cola/gen.c

Intermediate code generation routines.

void gen_ast(AST *ast)void gen_namespace_decl(AST *p)void gen_class_decl(AST *p)void gen_class_body(AST *p)void gen_constant_decl(AST *p)void gen_field_decl(AST *p)void gen_block(AST *p)void gen_statement(AST *p)void gen_var_decl(AST *p)void gen_param_list(Symbol *paramlist)void gen_method_decl(AST *p)void gen_assign(AST *ast)void gen_expr(AST *p, Symbol *lval, Type *type)void gen_arg_list_expr(AST *p)void gen_arg_list(AST *p)void gen_method_call(AST *p)void gen_if(AST *p)void gen_while(AST *p)void gen_for(AST *p)void gen_boolean(AST *p, const char *true_label, const char *false_label, int invert)void coerce_operands(Type ** t1, Type ** t2)char *op_name(int operator)int op_inverse(int operator)char *new_itemp()char *new_ntemp()char *new_stemp()char *new_ptemp()Symbol *new_temp(Type *type)void reset_temps()char *get_label()char *make_label()void emit_op_expr(Symbol *r, Symbol *a1, char *op, Symbol *a2)void emit_unary_expr(Symbol *res, Symbol *arg1, char *op)
|
|
|