/*
HEADER: 	;
TITLE: 		Frankenstein Cross Assemblers;
VERSION: 	2.0;
DESCRIPTION: "	Reconfigurable Cross-assembler producing Intel (TM)
		Hex format object records.

		constants used in intermediate file code generation
		as the expression node operation value and the polish
		expression operation  ";
FILENAME: 	fragcon.h;
SEE-ALSO: 	frapsub.c, fraosub.c, as*.y;
AUTHORS: 	Mark Zenier;
*/

#define IG_START	'['
#define IG_END		']'
#define IG_CPCON	'#'
#define IG_CPEXPR	'='
#define IG_ERROR	'X'

#define IGP_DEFINED	'U'
#define IGP_CONSTANT	'V'

#define IFC_NEG		'_'
#define IFC_NOT		'N'
#define IFC_HIGH	'H'
#define IFC_LOW		'Z'
#define IFC_MUL		'*'
#define IFC_DIV		'/'
#define IFC_ADD		'+'
#define IFC_SUB		'-'
#define IFC_MOD		'%'
#define IFC_SHL		'{'
#define IFC_SHR		'}'
#define IFC_AND		'&'
#define IFC_OR		'|'
#define IFC_XOR		'^'
#define IFC_GT		'>'
#define IFC_GE		'G'
#define IFC_LT		'<'
#define IFC_LE		'L'
#define IFC_NE		'?'
#define IFC_EQ		'='
#define IFC_SYMB	'S'
#define IFC_PROGCTR	'P'
#define IFC_CURRLOC	'Q'
#define IFC_LOAD	'.'
#define IFC_CLR		'$'
#define IFC_CLRALL	'X'
#define IFC_POP		'!'
#define IFC_DUP		'~'
#define IFC_EMU8	';'
#define IFC_EMS7	'r'
#define IFC_EM16	'x'
#define IFC_EMBR16	'y'
#define IFC_WIDTH	'W'
#define IFC_SWIDTH	'R'
#define IFC_IWIDTH	'I'
#define IFC_TESTERR	'T'

#define PCCASE_BIN	1
#define PCCASE_UN	2
#define PCCASE_DEF	3
#define PCCASE_SYMB	4
#define PCCASE_CONS	5
#define PCCASE_PROGC	6

