#include <stddef.h>
#include "data/format.h"
-#include "language/expressions/operations.h"
-#include "language/expressions/public.h"
+#include "operations.h"
+#include "public.h"
#include "libpspp/str.h"
enum operation_flags
const char *prototype;
enum operation_flags flags;
atom_type returns;
- int arg_cnt;
+ int n_args;
atom_type args[EXPR_ARG_MAX];
int array_min_elems;
int array_granularity;
struct composite_node
{
operation_type type; /* One of OP_*. */
- size_t arg_cnt; /* Number of arguments. */
- union any_node **args; /* Arguments. */
- size_t min_valid; /* Min valid array args to get valid result. */
+ size_t n_args; /* Number of arguments. */
+ union any_node **args; /* Arguments. */
+ size_t min_valid; /* Min valid array args to get valid result. */
};
/* Any node. */
union operation_data *ops; /* Expression data. */
operation_type *op_types; /* ops[] element types (for debugging). */
- size_t op_cnt, op_cap; /* Number of ops, amount of allocated space. */
+ size_t n_ops, allocated_ops; /* Number of ops, amount of allocated space. */
double *number_stack; /* Evaluation stack: numerics, Booleans. */
struct substring *string_stack; /* Evaluation stack: strings. */
union any_node *expr_allocate_boolean (struct expression *e, double);
union any_node *expr_allocate_integer (struct expression *e, int);
union any_node *expr_allocate_pos_int (struct expression *e, int);
-union any_node *expr_allocate_string_buffer (struct expression *e,
- const char *string, size_t length);
-union any_node *expr_allocate_string (struct expression *e,
- struct substring);
+union any_node *expr_allocate_string (struct expression *e, struct substring);
union any_node *expr_allocate_variable (struct expression *e,
const struct variable *);
union any_node *expr_allocate_format (struct expression *e,