projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
bison
[m6w6/ext-psi]
/
src
/
calc
/
oper.h
diff --git
a/src/calc/oper.h
b/src/calc/oper.h
index cf86b18b2fb2198300d79c32628126355eb90f8b..8208e30ec9dc39ac1b0d264aab45c154fbc4cc09 100644
(file)
--- a/
src/calc/oper.h
+++ b/
src/calc/oper.h
@@
-36,9
+36,9
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
} else if (op1 == op2) {
return 0;
return 1;
} else if (op1 == op2) {
return 0;
- } else if (!op1) {
+ } else if (!op1
|| op1 == PSI_T_NUMBER
) {
return 1;
return 1;
- } else if (!op2) {
+ } else if (!op2
|| op2 == PSI_T_NUMBER
) {
return -1;
}
return -1;
}
@@
-49,6
+49,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 0;
case PSI_T_TILDE:
return 0;
return 0;
case PSI_T_TILDE:
return 0;
+ case PSI_T_CAST:
+ return 0;
case PSI_T_ASTERISK:
return -1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return -1;
case PSI_T_SLASH:
@@
-97,6
+99,58
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 0;
case PSI_T_TILDE:
return 0;
return 0;
case PSI_T_TILDE:
return 0;
+ case PSI_T_CAST:
+ return 0;
+ case PSI_T_ASTERISK:
+ return -1;
+ case PSI_T_SLASH:
+ return -1;
+ case PSI_T_MODULO:
+ return -1;
+ case PSI_T_PLUS:
+ return -1;
+ case PSI_T_MINUS:
+ return -1;
+ case PSI_T_LSHIFT:
+ return -1;
+ case PSI_T_RSHIFT:
+ return -1;
+ case PSI_T_LCHEVR:
+ return -1;
+ case PSI_T_CMP_LE:
+ return -1;
+ case PSI_T_RCHEVR:
+ return -1;
+ case PSI_T_CMP_GE:
+ return -1;
+ case PSI_T_AMPERSAND:
+ return -1;
+ case PSI_T_CMP_EQ:
+ return -1;
+ case PSI_T_CMP_NE:
+ return -1;
+ case PSI_T_CARET:
+ return -1;
+ case PSI_T_PIPE:
+ return -1;
+ case PSI_T_AND:
+ return -1;
+ case PSI_T_OR:
+ return -1;
+ default:
+ assert(0);
+ break;
+ }
+ break;
+
+ case PSI_T_CAST:
+ switch (op2) {
+ case PSI_T_NOT:
+ return 0;
+ case PSI_T_TILDE:
+ return 0;
+ case PSI_T_CAST:
+ return 0;
case PSI_T_ASTERISK:
return -1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return -1;
case PSI_T_SLASH:
@@
-145,6
+199,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 0;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 0;
case PSI_T_SLASH:
@@
-193,6
+249,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 0;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 0;
case PSI_T_SLASH:
@@
-241,6
+299,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 0;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 0;
case PSI_T_SLASH:
@@
-289,6
+349,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-337,6
+399,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-385,6
+449,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-433,6
+499,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-481,6
+549,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-529,6
+599,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-577,6
+649,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-625,6
+699,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-673,6
+749,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-721,6
+799,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-769,6
+849,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-817,6
+899,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-865,6
+949,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-913,6
+999,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
@@
-961,6
+1049,8
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
return 1;
case PSI_T_TILDE:
return 1;
return 1;
case PSI_T_TILDE:
return 1;
+ case PSI_T_CAST:
+ return 1;
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH:
case PSI_T_ASTERISK:
return 1;
case PSI_T_SLASH: