/* 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 */