/* @(#) dope.h: 1.1 12/22/83				*/
int dope[ DSIZE ];
char *opst[DSIZE];

struct dopest 
{
	int dopeop; 
	char opst[8]; 
	int dopeval; 
} indope[] = 
{
	NAME, "NAME", LTYPE,
	STRING, "STRING", LTYPE,
	REG, "REG", LTYPE,
	TEMP, "TEMP", LTYPE,
	VAUTO, "AUTO", LTYPE,
	VPARAM, "PARAM", LTYPE,
	ICON, "ICON", LTYPE,
	FCON, "FCON", LTYPE,
	CCODES, "CCODES", LTYPE,
	UNARY MINUS, "U-", UTYPE,
	UNARY MUL, "STAR", UTYPE,
	UNARY AND, "U&", UTYPE,
	UNARY CALL, "UCALL", UTYPE|CALLFLG,
	UNARY FORTCALL, "UFCALL", UTYPE|CALLFLG,
	NOT, "!", UTYPE|LOGFLG,
	COMPL, "~", UTYPE,
	INIT, "INIT", UTYPE,
	CONV, "CONV", UTYPE,
	PLUS, "+", BITYPE|FLOFLG|SIMPFLG|COMMFLG,
	ASG PLUS, "+=", BITYPE|ASGFLG|ASGOPFLG|FLOFLG|SIMPFLG|COMMFLG,
	MINUS, "-", BITYPE|FLOFLG|SIMPFLG,
	ASG MINUS, "-=", BITYPE|FLOFLG|SIMPFLG|ASGFLG|ASGOPFLG,
	MUL, "*", BITYPE|FLOFLG|MULFLG,
	ASG MUL, "*=", BITYPE|FLOFLG|MULFLG|ASGFLG|ASGOPFLG,
	AND, "&", BITYPE|SIMPFLG|COMMFLG,
	ASG AND, "&=", BITYPE|SIMPFLG|COMMFLG|ASGFLG|ASGOPFLG,
	QUEST, "?", BITYPE,
	COLON, ":", BITYPE,
	ANDAND, "&&", BITYPE|LOGFLG,
	OROR, "||", BITYPE|LOGFLG,
	CM, ",", BITYPE,
	COMOP, ",OP", BITYPE,
	FREE, "FREE!?!", LTYPE,
	ASSIGN, "=", BITYPE|ASGFLG,
	DIV, "/", BITYPE|FLOFLG|DIVFLG,
	ASG DIV, "/=", BITYPE|FLOFLG|DIVFLG|ASGFLG|ASGOPFLG,
	MOD, "%", BITYPE|DIVFLG,
	ASG MOD, "%=", BITYPE|DIVFLG|ASGFLG|ASGOPFLG,
	LS, "<<", BITYPE|SHFFLG,
	ASG LS, "<<=", BITYPE|SHFFLG|ASGFLG|ASGOPFLG,
	RS, ">>", BITYPE|SHFFLG,
	ASG RS, ">>=", BITYPE|SHFFLG|ASGFLG|ASGOPFLG,
	OR, "|", BITYPE|COMMFLG|SIMPFLG,
	ASG OR, "|=", BITYPE|COMMFLG|SIMPFLG|ASGFLG|ASGOPFLG,
	ER, "^", BITYPE|COMMFLG|SIMPFLG,
	ASG ER, "^=", BITYPE|COMMFLG|SIMPFLG|ASGFLG|ASGOPFLG,
	INCR, "++", BITYPE|ASGFLG,
	DECR, "--", BITYPE|ASGFLG,
	STREF, "->", BITYPE,
	CALL, "CALL", BITYPE|CALLFLG,
	FORTCALL, "FCALL", BITYPE|CALLFLG,
	EQ, "==", BITYPE|LOGFLG,
	NE, "!=", BITYPE|LOGFLG,
	LE, "<=", BITYPE|LOGFLG,
	LT, "<", BITYPE|LOGFLG,
	GE, ">", BITYPE|LOGFLG,
	GT, ">", BITYPE|LOGFLG,
	UGT, "UGT", BITYPE|LOGFLG,
	UGE, "UGE", BITYPE|LOGFLG,
	ULT, "ULT", BITYPE|LOGFLG,
	ULE, "ULE", BITYPE|LOGFLG,
	ARS, "A>>", BITYPE,
	TYPE, "TYPE", LTYPE,
	LB, "[", BITYPE,
	CBRANCH, "CBRANCH", BITYPE,
	GENLAB, "GENLAB", UTYPE,
	GENUBR, "GENUBR", UTYPE,
	GENBR, "GENBR", UTYPE,
	CMP, "CMP", BITYPE,
	FLD, "FLD", UTYPE,
	PMUL, "P*", BITYPE,
	PDIV, "P/", BITYPE,
	RETURN, "RETURN", BITYPE|ASGFLG,
	CAST, "CAST", BITYPE|ASGFLG,
	GOTO, "GOTO", UTYPE,
	STASG, "STASG", BITYPE,
	STARG, "STARG", UTYPE,
	STCALL, "STCALL", BITYPE|CALLFLG,
	UNARY STCALL, "USTCALL", UTYPE|CALLFLG,
	RNODE, "RNODE", LTYPE,
	SNODE, "SNODE", LTYPE,
	QNODE, "QNODE", LTYPE,
	MANY, "MANY", BITYPE,
	FUNARG, "ARG", UTYPE,
	UOP0, "UOP0", UTYPE|SPFLG,
	UOP1, "UOP1", UTYPE|SPFLG,
	UOP2, "UOP2", UTYPE|SPFLG,
	UOP3, "UOP3", UTYPE|SPFLG,
	UOP4, "UOP4", UTYPE|SPFLG,
	UOP5, "UOP5", UTYPE|SPFLG,
	UOP6, "UOP6", UTYPE|SPFLG,
	UOP7, "UOP7", UTYPE|SPFLG,
	UOP8, "UOP8", UTYPE|SPFLG,
	UOP9, "UOP9", UTYPE|SPFLG,

	-1,	0
};
