home *** CD-ROM | disk | FTP | other *** search
- /* Copyright (c) 1988 by Sozobon, Limited. Author: Johann Ruegg
- *
- * Permission is granted to anyone to use this software for any purpose
- * on any computer system, and to redistribute it freely, with the
- * following restrictions:
- * 1) No charge may be made other than reasonable charges for reproduction.
- * 2) Modified versions must be clearly marked as such.
- * 3) The authors are not responsible for any harmful consequences
- * of using this software, even if they result from defects in it.
- *
- * gen.h
- */
-
- #include "cookie.h"
-
- /* parameters for case */
- #define C_SIMPLE 8 /* use simple if n <= this */
- #define C_RATIO 3 /* use table if max-min/n <= this */
-
- /* branch types */
- /* designed so that pairs (i,i+1) with odd i represent opposites */
- #define B_EQ 1
- #define B_NE 2
- #define B_LT 3
- #define B_GE 4
- #define B_LE 5
- #define B_GT 6
- #define B_YES 7
- #define B_NO 8
- #define B_ULT 9
- #define B_UGE 10
- #define B_ULE 11
- #define B_UGT 12
-
- /* derived nodes */
- /* re-use stmt keywords for now */
- #ifndef ENUMS
- #define ONAME 'a'
- #define OREG 'b'
- #define REGVAR 'c'
- #define PUSHER 'd'
- #define CMPBR 'e'
- #define FIELDAS 'f'
- #else
- enum {
- ONAME = 'a', OREG, REGVAR, PUSHER, CMPBR, FIELDAS
- };
- #endif
-
- #define BR_TOK 'i'
-
- /* evaluation order values */
- #define EV_NONE 0
- #define EV_LEFT 1
- #define EV_RIGHT 2
- #define EV_LR 3
- #define EV_RL 4
- #define EV_LRSEP 5 /* left then right, but seperate */
-