|
|
// Copyright (c) 1993-1999 Microsoft Corporation
#ifndef __OPERATOR_HXX__
#define __OPERATOR_HXX__
//
// operator identifier definitions.
//
typedef enum _operators { OP_START ,OP_ILLEGAL = OP_START
,OP_UNARY_START
,OP_UNARY_ARITHMETIC_START = OP_UNARY_START ,OP_UNARY_PLUS = OP_UNARY_ARITHMETIC_START ,OP_UNARY_MINUS ,OP_UNARY_ARITHMETIC_END
,OP_UNARY_LOGICAL_START = OP_UNARY_ARITHMETIC_END ,OP_UNARY_NOT = OP_UNARY_LOGICAL_START ,OP_UNARY_COMPLEMENT ,OP_UNARY_LOGICAL_END
,OP_UNARY_INDIRECTION = OP_UNARY_LOGICAL_END ,OP_UNARY_CAST ,OP_UNARY_AND ,OP_UNARY_SIZEOF ,OP_UNARY_ALIGNOF ,OP_PRE_INCR ,OP_PRE_DECR ,OP_POST_INCR ,OP_POST_DECR
,OP_UNARY_END
,OP_BINARY_START = OP_UNARY_END
,OP_BINARY_ARITHMETIC_START = OP_BINARY_START ,OP_PLUS = OP_BINARY_ARITHMETIC_START ,OP_MINUS ,OP_STAR ,OP_SLASH ,OP_MOD ,OP_BINARY_ARITHMETIC_END
,OP_BINARY_SHIFT_START = OP_BINARY_ARITHMETIC_END ,OP_LEFT_SHIFT = OP_BINARY_SHIFT_START ,OP_RIGHT_SHIFT ,OP_BINARY_SHIFT_END
,OP_BINARY_RELATIONAL_START = OP_BINARY_SHIFT_END ,OP_LESS = OP_BINARY_RELATIONAL_START ,OP_LESS_EQUAL ,OP_GREATER_EQUAL ,OP_GREATER ,OP_EQUAL ,OP_NOT_EQUAL ,OP_BINARY_RELATIONAL_END
,OP_BINARY_BITWISE_START = OP_BINARY_RELATIONAL_END ,OP_AND = OP_BINARY_BITWISE_START ,OP_OR ,OP_XOR ,OP_BINARY_BITWISE_END
,OP_BINARY_LOGICAL_START = OP_BINARY_BITWISE_END ,OP_LOGICAL_AND = OP_BINARY_LOGICAL_START ,OP_LOGICAL_OR ,OP_BINARY_LOGICAL_END
,OP_BINARY_TERNARY_START = OP_BINARY_LOGICAL_END ,OP_QM = OP_BINARY_TERNARY_START ,OP_COLON ,OP_BINARY_TERNARY_END
,OP_BINARY_END = OP_BINARY_TERNARY_END
,OP_INTERNAL_START = OP_BINARY_END ,OP_FUNCTION ,OP_PARAM
,OP_POINTSTO ,OP_DOT ,OP_INDEX ,OP_COMMA ,OP_STMT ,OP_ASSIGN ,OP_END } OPERATOR;
#endif // __OPERATOR_HXX__
|