/* * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands. * See the copyright notice in the ACK home directory, in the file "Copyright". */ /* These routines partition the huge set of EM-instructions in * "manageable chunks. */ extern int instrgroup(); /* (line_p lnp) * Return the group into which the instruction * in lnp belongs to. */ extern bool stack_group(); /* (int instr) * Return whether instr is an instruction that * only changes the state of the stack, i.e. * is a "true" operator. */ extern offset op11size(); /* (line_p lnp) * Return the size of the operand of the unary * operator in lnp. */ extern offset op12size(); /* (line_p lnp) * Return the size of the first operand of the * binary operator in lnp. */ extern offset op22size(); /* (line_p lnp) * Return the size of the second operand of the * binary operator in lnp. */ extern offset op13size(); /* (line_p lnp) * Return the size of the first operand of the * ternary operator in lnp. */ extern offset op23size(); /* (line_p lnp) * Return the size of the second operand of the * ternary operator in lnp. */ extern offset op33size(); /* (line_p lnp) * Return the size of the third operand of the * ternary operator in lnp. */ extern offset avsize(); /* (line_p lnp) * Return the size of the result of the * operator in lnp. */ extern int regtype(); /* (byte instr) * Return in what kind of machine-register * the result of instr should be stored: * pointer, float, or any. */