expr_rec gen_infix(expr_rec e1, op_rec op, expr_rec e2)
{
expr_rec e_rec;
/* An expr_rec with temp variant set. */
e_rec.kind = TEMPEXPR;
/*
* Generate code for infix operation.
* Get result temp and set up semantic record
* for result
*/
strcpy(e_rec.name, get_temp());
generate(extract(op), extract(e1), extract(e2), e_rec.name);
return e_rec;
}