Pristine Ack-5.5
[Ack-5.5.git] / util / ego / cs / cs_partit.h
1 /* $Id: cs_partit.h,v 1.4 1994/06/24 10:22:37 ceriel Exp $ */
2 /*
3  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
4  * See the copyright notice in the ACK home directory, in the file "Copyright".
5  */
6 /* These routines partition the huge set of EM-instructions in
7  * "manageable chunks.
8  */
9
10 extern int      instrgroup();   /* (line_p lnp)
11                                  * Return the group into which the instruction
12                                  * in lnp belongs to.
13                                  */
14
15 extern bool     stack_group();  /* (int instr)
16                                  * Return whether instr is an instruction that
17                                  * only changes the state of the stack, i.e.
18                                  * is a "true" operator.
19                                  */
20
21 extern offset   op11size();     /* (line_p lnp)
22                                  * Return the size of the operand of the unary
23                                  * operator in lnp.
24                                  */
25
26 extern offset   op12size();     /* (line_p lnp)
27                                  * Return the size of the first operand of the
28                                  * binary operator in lnp.
29                                  */
30
31 extern offset   op22size();     /* (line_p lnp)
32                                  * Return the size of the second operand of the
33                                  * binary operator in lnp.
34                                  */
35
36 extern offset   op13size();     /* (line_p lnp)
37                                  * Return the size of the first operand of the
38                                  * ternary operator in lnp.
39                                  */
40
41 extern offset   op23size();     /* (line_p lnp)
42                                  * Return the size of the second operand of the
43                                  * ternary operator in lnp.
44                                  */
45
46 extern offset   op33size();     /* (line_p lnp)
47                                  * Return the size of the third operand of the
48                                  * ternary operator in lnp.
49                                  */
50
51 extern offset   avsize();       /* (line_p lnp)
52                                  * Return the size of the result of the
53                                  * operator in lnp.
54                                  */
55
56 extern int      regtype();      /* (byte instr)
57                                  * Return in what kind of machine-register
58                                  * the result of instr should be stored:
59                                  * pointer, float, or any.
60                                  */