- ExprResult *val_rtrn);
-
-const char *
-exprOpText(enum expr_op_type op)
-{
- static char buf[32];
-
- switch (op) {
- case EXPR_VALUE:
- strcpy(buf, "literal");
- break;
- case EXPR_IDENT:
- strcpy(buf, "identifier");
- break;
- case EXPR_ACTION_DECL:
- strcpy(buf, "action declaration");
- break;
- case EXPR_FIELD_REF:
- strcpy(buf, "field reference");
- break;
- case EXPR_ARRAY_REF:
- strcpy(buf, "array reference");
- break;
- case EXPR_KEYSYM_LIST:
- strcpy(buf, "list of keysyms");
- break;
- case EXPR_ACTION_LIST:
- strcpy(buf, "list of actions");
- break;
- case EXPR_ADD:
- strcpy(buf, "addition");
- break;
- case EXPR_SUBTRACT:
- strcpy(buf, "subtraction");
- break;
- case EXPR_MULTIPLY:
- strcpy(buf, "multiplication");
- break;
- case EXPR_DIVIDE:
- strcpy(buf, "division");
- break;
- case EXPR_ASSIGN:
- strcpy(buf, "assignment");
- break;
- case EXPR_NOT:
- strcpy(buf, "logical not");
- break;
- case EXPR_NEGATE:
- strcpy(buf, "arithmetic negation");
- break;
- case EXPR_INVERT:
- strcpy(buf, "bitwise inversion");
- break;
- case EXPR_UNARY_PLUS:
- strcpy(buf, "unary plus");
- break;
- default:
- snprintf(buf, sizeof(buf), "illegal(%d)", op);
- break;
- }
- return buf;
-}
-
-static const char *
-exprValueTypeText(enum expr_value_type type)
-{
- static char buf[20];
-
- switch (type) {
- case EXPR_TYPE_UNKNOWN:
- strcpy(buf, "unknown");
- break;
- case EXPR_TYPE_BOOLEAN:
- strcpy(buf, "boolean");
- break;
- case EXPR_TYPE_INT:
- strcpy(buf, "int");
- break;
- case EXPR_TYPE_STRING:
- strcpy(buf, "string");
- break;
- case EXPR_TYPE_ACTION:
- strcpy(buf, "action");
- break;
- case EXPR_TYPE_KEYNAME:
- strcpy(buf, "keyname");
- break;
- default:
- snprintf(buf, sizeof(buf), "illegal(%d)", type);
- break;
- }
- return buf;
-}