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