Code

parser: Convert AST op types to data op types when necessary.
[sysdb.git] / src / include / parser / ast.h
index 41fb2179e805e5c1bbd9ea1e3a591b1a685735ae..6a86d06890d70d42c4de3773307b3ff04d489677 100644 (file)
@@ -139,6 +139,15 @@ typedef enum {
                : ((op) == SDB_AST_ANY) ? "ANY" \
                : "UNKNOWN")
 
+#define SDB_AST_OP_TO_DATA_OP(op) \
+       (((op) == SDB_AST_ADD) ? SDB_DATA_ADD \
+               : ((op) == SDB_AST_SUB) ? SDB_DATA_SUB \
+               : ((op) == SDB_AST_MUL) ? SDB_DATA_MUL \
+               : ((op) == SDB_AST_DIV) ? SDB_DATA_DIV \
+               : ((op) == SDB_AST_MOD) ? SDB_DATA_MOD \
+               : ((op) == SDB_AST_CONCAT) ? SDB_DATA_CONCAT \
+               : -1)
+
 #define SDB_AST_TYPE_TO_STRING(n) \
        (((n)->type == SDB_AST_TYPE_FETCH) ? "FETCH" \
                : ((n)->type == SDB_AST_TYPE_LIST) ? "LIST" \