This patch adds the VALUELABEL function for use in expressions, which
[pspp-builds.git] / src / language / expressions / private.h
index 3fa108d5a4bd93007772d47500ab76ce7a9beea5..d4e032343949d448b5f9cf5f6a4e4fc2da6cba04 100644 (file)
@@ -62,7 +62,10 @@ enum operation_flags
 
     /* If set, this operation may not occur after TEMPORARY.
        (Currently this applies only to LAG.) */
-    OPF_PERM_ONLY = 0100
+    OPF_PERM_ONLY = 0100,
+
+    /* If set, this operation's name may not be abbreviated. */
+    OPF_NO_ABBREV = 0200
   };
 
 #define EXPR_ARG_MAX 4
@@ -78,7 +81,7 @@ struct operation
     int array_granularity;
   };
 
-extern struct operation operations[];
+extern const struct operation operations[];
 
 /* Tree structured expressions. */ 
 
@@ -156,7 +159,7 @@ union operation_data
 struct expression
   {
     struct pool *expr_pool;     /* Pool for expression static data. */
-    struct dictionary *dict;    /* Dictionary for variables, vectors. */
+    struct dataset *ds ;        /* The dataset */
     atom_type type;             /* Type of expression result. */
 
     union operation_data *ops;  /* Expression data. */
@@ -168,7 +171,7 @@ struct expression
     struct pool *eval_pool;     /* Pool for evaluation temporaries. */
   };
 
-struct expression *expr_parse_any (struct dictionary *, bool optimize);
+struct expression *expr_parse_any (struct lexer *lexer, struct dataset *,  bool optimize);
 void expr_debug_print_postfix (const struct expression *);
 
 union any_node *expr_optimize (union any_node *, struct expression *);