calc: boolean expressions
[m6w6/ext-psi] / src / token.h
index 65d37a2e635d6f8fdf69e7970dcb29450310917a..75f76fbed19c1b7c7f752093de92ea40102c0051 100644 (file)
@@ -51,51 +51,7 @@ static inline size_t psi_offset_padding(size_t diff, size_t alignment) {
 
 typedef int token_t;
 
 
 typedef int token_t;
 
-static inline int psi_num_exp_op_cmp(token_t op1, token_t op2)
-{
-       assert(!op1 || op1 == PSI_T_LPAREN || (op1 <= PSI_T_NOT && op1 >= PSI_T_PIPE));
-       assert(!op2 || op2 == PSI_T_LPAREN || (op2 <= PSI_T_NOT && op2 >= PSI_T_PIPE));
-
-       if (PSI_T_LPAREN == op2) {
-               return -1;
-       } else if (PSI_T_LPAREN == op1) {
-               return 1;
-       } else if (op1 == op2) {
-               return 0;
-       } else if (!op1) {
-               return 1;
-       } else if (!op2) {
-               return -1;
-       }
-
-       switch (op1) {
-       case PSI_T_PIPE:
-               return op2 > PSI_T_PIPE ? 1 : (op2 < PSI_T_PIPE ? -1 : 0);
-       case PSI_T_CARET:
-               return op2 > PSI_T_CARET ? 1 : (op2 < PSI_T_CARET ? -1 : 0);
-       case PSI_T_AMPERSAND:
-               return op2 > PSI_T_AMPERSAND ? 1 : (op2 < PSI_T_AMPERSAND ? -1 : 0);
-
-       case PSI_T_LSHIFT:
-       case PSI_T_RSHIFT:
-               return op2 > PSI_T_RSHIFT ? 1 : (op2 < PSI_T_LSHIFT ? -1 : 0);
-
-       case PSI_T_PLUS:
-       case PSI_T_MINUS:
-               return op2 > PSI_T_MINUS ? 1 : (op2 < PSI_T_PLUS ? -1 : 0);
-
-       case PSI_T_ASTERISK:
-       case PSI_T_SLASH:
-       case PSI_T_MODULO:
-               return op2 > PSI_T_MODULO ? 1 : (op2 < PSI_T_ASTERISK ? -1 : 0);
-
-       case PSI_T_NOT:
-       case PSI_T_TILDE:
-               return op2 > PSI_T_TILDE ? 1 : (op2 < PSI_T_NOT ? -1 : 0);
-       }
-
-       return 0;
-}
+#include "token_oper_cmp.h"
 
 static inline size_t psi_t_alignment(token_t t)
 {
 
 static inline size_t psi_t_alignment(token_t t)
 {