projects
/
m6w6
/
ext-psi
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
update README and package.xml
[m6w6/ext-psi]
/
src
/
calc
/
oper.h
diff --git
a/src/calc/oper.h
b/src/calc/oper.h
index cf86b18b2fb2198300d79c32628126355eb90f8b..4a31cfb482e7e5bef9aabec8ae8216d2de80b7d5 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;
}
@@
-46,43
+46,27
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_NOT:
switch (op2) {
case PSI_T_NOT:
case PSI_T_NOT:
switch (op2) {
case PSI_T_NOT:
- return 0;
case PSI_T_TILDE:
case PSI_T_TILDE:
+ case PSI_T_CAST:
return 0;
return 0;
+
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return -1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return -1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return -1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return -1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return -1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return -1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return -1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-94,43
+78,59
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_TILDE:
switch (op2) {
case PSI_T_NOT:
case PSI_T_TILDE:
switch (op2) {
case PSI_T_NOT:
- return 0;
case PSI_T_TILDE:
case PSI_T_TILDE:
+ case PSI_T_CAST:
return 0;
return 0;
+
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return -1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return -1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return -1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return -1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return -1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return -1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return -1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
+ case PSI_T_OR:
return -1;
return -1;
+ default:
+ assert(0);
+ break;
+ }
+ break;
+
+ case PSI_T_CAST:
+ switch (op2) {
+ case PSI_T_NOT:
+ case PSI_T_TILDE:
+ case PSI_T_CAST:
+ return 0;
+
+ case PSI_T_ASTERISK:
+ case PSI_T_SLASH:
+ case PSI_T_MODULO:
+ case PSI_T_PLUS:
+ case PSI_T_MINUS:
+ case PSI_T_LSHIFT:
+ case PSI_T_RSHIFT:
+ case PSI_T_LCHEVR:
+ case PSI_T_CMP_LE:
+ case PSI_T_RCHEVR:
+ case PSI_T_CMP_GE:
+ case PSI_T_AMPERSAND:
+ case PSI_T_CMP_EQ:
+ case PSI_T_CMP_NE:
+ case PSI_T_CARET:
+ case PSI_T_PIPE:
+ case PSI_T_AND:
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-142,43
+142,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_ASTERISK:
switch (op2) {
case PSI_T_NOT:
case PSI_T_ASTERISK:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
+ case PSI_T_CAST:
return 1;
return 1;
+
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 0;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 0;
case PSI_T_MODULO:
return 0;
case PSI_T_MODULO:
return 0;
+
case PSI_T_PLUS:
case PSI_T_PLUS:
- return -1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return -1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return -1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return -1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-190,43
+176,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_SLASH:
switch (op2) {
case PSI_T_NOT:
case PSI_T_SLASH:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
+ case PSI_T_CAST:
return 1;
return 1;
+
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 0;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 0;
case PSI_T_MODULO:
return 0;
case PSI_T_MODULO:
return 0;
+
case PSI_T_PLUS:
case PSI_T_PLUS:
- return -1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return -1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return -1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return -1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-238,43
+210,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_MODULO:
switch (op2) {
case PSI_T_NOT:
case PSI_T_MODULO:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
+ case PSI_T_CAST:
return 1;
return 1;
+
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 0;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 0;
case PSI_T_MODULO:
return 0;
case PSI_T_MODULO:
return 0;
+
case PSI_T_PLUS:
case PSI_T_PLUS:
- return -1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return -1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return -1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return -1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-286,43
+244,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_PLUS:
switch (op2) {
case PSI_T_NOT:
case PSI_T_PLUS:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
return 1;
case PSI_T_MODULO:
return 1;
+
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 0;
case PSI_T_MINUS:
return 0;
case PSI_T_MINUS:
return 0;
+
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return -1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return -1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-334,43
+278,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_MINUS:
switch (op2) {
case PSI_T_NOT:
case PSI_T_MINUS:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
return 1;
case PSI_T_MODULO:
return 1;
+
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 0;
case PSI_T_MINUS:
return 0;
case PSI_T_MINUS:
return 0;
+
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return -1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return -1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-382,43
+312,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_LSHIFT:
switch (op2) {
case PSI_T_NOT:
case PSI_T_LSHIFT:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
return 1;
case PSI_T_MINUS:
return 1;
+
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 0;
case PSI_T_RSHIFT:
return 0;
case PSI_T_RSHIFT:
return 0;
+
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-430,43
+346,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_RSHIFT:
switch (op2) {
case PSI_T_NOT:
case PSI_T_RSHIFT:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
return 1;
case PSI_T_MINUS:
return 1;
+
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 0;
case PSI_T_RSHIFT:
return 0;
case PSI_T_RSHIFT:
return 0;
+
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return -1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return -1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return -1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return -1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-478,43
+380,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_LCHEVR:
switch (op2) {
case PSI_T_NOT:
case PSI_T_LCHEVR:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
return 1;
case PSI_T_RSHIFT:
return 1;
+
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 0;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 0;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 0;
case PSI_T_CMP_GE:
return 0;
case PSI_T_CMP_GE:
return 0;
+
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-526,43
+414,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_CMP_LE:
switch (op2) {
case PSI_T_NOT:
case PSI_T_CMP_LE:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
return 1;
case PSI_T_RSHIFT:
return 1;
+
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 0;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 0;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 0;
case PSI_T_CMP_GE:
return 0;
case PSI_T_CMP_GE:
return 0;
+
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-574,43
+448,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_RCHEVR:
switch (op2) {
case PSI_T_NOT:
case PSI_T_RCHEVR:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
return 1;
case PSI_T_RSHIFT:
return 1;
+
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 0;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 0;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 0;
case PSI_T_CMP_GE:
return 0;
case PSI_T_CMP_GE:
return 0;
+
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-622,43
+482,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_CMP_GE:
switch (op2) {
case PSI_T_NOT:
case PSI_T_CMP_GE:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
return 1;
case PSI_T_RSHIFT:
return 1;
+
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 0;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 0;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 0;
case PSI_T_CMP_GE:
return 0;
case PSI_T_CMP_GE:
return 0;
+
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return -1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-670,43
+516,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_AMPERSAND:
switch (op2) {
case PSI_T_NOT:
case PSI_T_AMPERSAND:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return 1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 1;
case PSI_T_CMP_GE:
return 1;
case PSI_T_CMP_GE:
return 1;
+
case PSI_T_AMPERSAND:
return 0;
case PSI_T_AMPERSAND:
return 0;
+
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return -1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return -1;
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-718,43
+550,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_CMP_EQ:
switch (op2) {
case PSI_T_NOT:
case PSI_T_CMP_EQ:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return 1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return 1;
case PSI_T_AMPERSAND:
return 1;
case PSI_T_AMPERSAND:
return 1;
+
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return 0;
case PSI_T_CMP_NE:
return 0;
case PSI_T_CMP_NE:
return 0;
+
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-766,43
+584,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_CMP_NE:
switch (op2) {
case PSI_T_NOT:
case PSI_T_CMP_NE:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return 1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return 1;
case PSI_T_AMPERSAND:
return 1;
case PSI_T_AMPERSAND:
return 1;
+
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return 0;
case PSI_T_CMP_NE:
return 0;
case PSI_T_CMP_NE:
return 0;
+
case PSI_T_CARET:
case PSI_T_CARET:
- return -1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-814,43
+618,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_CARET:
switch (op2) {
case PSI_T_NOT:
case PSI_T_CARET:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return 1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return 1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return 1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return 1;
case PSI_T_CMP_NE:
return 1;
case PSI_T_CMP_NE:
return 1;
+
case PSI_T_CARET:
return 0;
case PSI_T_CARET:
return 0;
+
case PSI_T_PIPE:
case PSI_T_PIPE:
- return -1;
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-862,43
+652,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_PIPE:
switch (op2) {
case PSI_T_NOT:
case PSI_T_PIPE:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return 1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return 1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return 1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return 1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return 1;
case PSI_T_CARET:
return 1;
case PSI_T_CARET:
return 1;
+
case PSI_T_PIPE:
return 0;
case PSI_T_PIPE:
return 0;
+
case PSI_T_AND:
case PSI_T_AND:
- return -1;
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-910,43
+686,29
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_AND:
switch (op2) {
case PSI_T_NOT:
case PSI_T_AND:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return 1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return 1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return 1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return 1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return 1;
case PSI_T_CARET:
case PSI_T_CARET:
- return 1;
case PSI_T_PIPE:
return 1;
case PSI_T_PIPE:
return 1;
+
case PSI_T_AND:
return 0;
case PSI_T_AND:
return 0;
+
case PSI_T_OR:
return -1;
default:
case PSI_T_OR:
return -1;
default:
@@
-958,43
+720,27
@@
static inline int psi_calc_oper(token_t op1, token_t op2)
case PSI_T_OR:
switch (op2) {
case PSI_T_NOT:
case PSI_T_OR:
switch (op2) {
case PSI_T_NOT:
- return 1;
case PSI_T_TILDE:
case PSI_T_TILDE:
- return 1;
+ case PSI_T_CAST:
case PSI_T_ASTERISK:
case PSI_T_ASTERISK:
- return 1;
case PSI_T_SLASH:
case PSI_T_SLASH:
- return 1;
case PSI_T_MODULO:
case PSI_T_MODULO:
- return 1;
case PSI_T_PLUS:
case PSI_T_PLUS:
- return 1;
case PSI_T_MINUS:
case PSI_T_MINUS:
- return 1;
case PSI_T_LSHIFT:
case PSI_T_LSHIFT:
- return 1;
case PSI_T_RSHIFT:
case PSI_T_RSHIFT:
- return 1;
case PSI_T_LCHEVR:
case PSI_T_LCHEVR:
- return 1;
case PSI_T_CMP_LE:
case PSI_T_CMP_LE:
- return 1;
case PSI_T_RCHEVR:
case PSI_T_RCHEVR:
- return 1;
case PSI_T_CMP_GE:
case PSI_T_CMP_GE:
- return 1;
case PSI_T_AMPERSAND:
case PSI_T_AMPERSAND:
- return 1;
case PSI_T_CMP_EQ:
case PSI_T_CMP_EQ:
- return 1;
case PSI_T_CMP_NE:
case PSI_T_CMP_NE:
- return 1;
case PSI_T_CARET:
case PSI_T_CARET:
- return 1;
case PSI_T_PIPE:
case PSI_T_PIPE:
- return 1;
case PSI_T_AND:
return 1;
case PSI_T_AND:
return 1;
+
case PSI_T_OR:
return 0;
default:
case PSI_T_OR:
return 0;
default: