struct operator { const char *name; int val; }; %% =, TOK_EQUAL +, TOK_PLUS ===, TOK_TRIPLE_EQUAL >>>, TOK_DOUBLESHIFT_RIGHT !==, TOK_NOT_DOUBLEEQUAL <<, TOK_SHIFT_LEFT <=, TOK_LESSEQUAL ==, TOK_EQUAL_EQUAL >=, TOK_GREATEREQUAL >>, TOK_SHIFT_RIGHT ||, TOK_OR_OR --, TOK_MINUSMINUS !=, TOK_NOT_EQUAL &&, TOK_AND_AND ++, TOK_PLUSPLUS *=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL /=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL "%=", TOK_ASSIGNMENT_OPERATOR_NOEQUAL +=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL -=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL <<=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL >>=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL >>>=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL &=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL ^=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL |=, TOK_ASSIGNMENT_OPERATOR_NOEQUAL &, TOK_AND :, TOK_COLON /, TOK_DIVIDE !, TOK_EXCLAMATION >, TOK_GREATER <, TOK_LESS -, TOK_MINUS *, TOK_MULTIPLY |, TOK_OR "%", TOK_PERCENT ?, TOK_QUESTIONMARK ~, TOK_TILDE ^, TOK_XOR