Made src/language into one big library. Closes patch #5633
[pspp] / src / language / stats / oneway.q
index afce1efdbb68704699a2810b8d662b45ca003afc..9b5ed83dc3ca400b4cea8e539f5b780993ae8925 100644 (file)
@@ -112,12 +112,12 @@ void output_oneway(void);
 
 
 int
-cmd_oneway (struct dataset *ds)
+cmd_oneway (struct lexer *lexer, struct dataset *ds)
 {
   int i;
   bool ok;
 
-  if ( !parse_oneway (ds, &cmd, NULL) )
+  if ( !parse_oneway (lexer, ds, &cmd, NULL) )
     return CMD_FAILURE;
 
   /* What statistics were requested */
@@ -213,18 +213,19 @@ output_oneway(void)
 
 /* Parser for the variables sub command */
 static int
-oneway_custom_variables(struct dataset *ds, struct cmd_oneway *cmd UNUSED, 
+oneway_custom_variables (struct lexer *lexer, 
+                       struct dataset *ds, struct cmd_oneway *cmd UNUSED, 
                        void *aux UNUSED)
 {
   struct dictionary *dict = dataset_dict (ds);
 
-  lex_match('=');
+  lex_match (lexer, '=');
 
-  if ((token != T_ID || dict_lookup_var (dict, tokid) == NULL)
-      && token != T_ALL)
+  if ((lex_token (lexer) != T_ID || dict_lookup_var (dict, lex_tokid (lexer)) == NULL)
+      && lex_token (lexer) != T_ALL)
     return 2;
 
-  if (!parse_variables (dict, &vars, &n_vars,
+  if (!parse_variables (lexer, dict, &vars, &n_vars,
                        PV_DUPLICATE 
                        | PV_NUMERIC | PV_NO_SCRATCH) )
     {
@@ -234,14 +235,14 @@ oneway_custom_variables(struct dataset *ds, struct cmd_oneway *cmd UNUSED,
 
   assert(n_vars);
 
-  if ( ! lex_match(T_BY))
+  if ( ! lex_match (lexer, T_BY))
     return 2;
 
-  indep_var = parse_variable (dict);
+  indep_var = parse_variable (lexer, dict);
 
   if ( !indep_var ) 
     {
-      msg(SE,_("`%s' is not a variable name"),tokid);
+      msg(SE,_("`%s' is not a variable name"),lex_tokid (lexer));
       return 0;
     }
 
@@ -434,7 +435,8 @@ show_descriptives(void)
          gs = gs_array[count];
 
          tab_text (t, 1, row + count, 
-                   TAB_LEFT | TAT_TITLE ,value_to_string(&gs->id,indep_var));
+                   TAB_LEFT | TAT_TITLE, var_get_value_name(indep_var,
+                                                             &gs->id));
 
          /* Now fill in the numbers ... */
 
@@ -620,7 +622,7 @@ show_contrast_coeffs (short *bad_contrast)
       group_value = group_values[count];
 
       tab_text (t, count + 2, 1, TAB_CENTER | TAT_TITLE, 
-               value_to_string(group_value, indep_var));
+               var_get_value_name (indep_var, group_value));
 
       for (i = 0 ; i < cmd.sbc_contrast ; ++i ) 
        {
@@ -866,7 +868,7 @@ precalc ( struct cmd_oneway *cmd UNUSED )
                   (hsh_compare_func *) compare_group,
                   (hsh_hash_func *) hash_group,
                   (hsh_free_func *) free_group,
-                  (void *) indep_var->width );
+                  (void *) var_get_width (indep_var) );
 
 
       totals->sum=0;
@@ -895,7 +897,7 @@ run_oneway(const struct ccase *first, const struct casefile *cf,
                                 (hsh_compare_func *) compare_values,
                                 (hsh_hash_func *) hash_value,
                                 0,
-                                (void *) indep_var->width );
+                                (void *) var_get_width (indep_var) );
 
   precalc(cmd);
 
@@ -916,7 +918,7 @@ run_oneway(const struct ccase *first, const struct casefile *cf,
       if ( casefilter_variable_missing (filter, &c, indep_var))
        continue;
 
-      indep_val = case_data (&c, indep_var->fv);
+      indep_val = case_data (&c, indep_var);
          
       hsh_insert ( global_group_hash, (void *) indep_val );
 
@@ -924,7 +926,7 @@ run_oneway(const struct ccase *first, const struct casefile *cf,
        {
          const struct variable *v = vars[i];
 
-         const union value *val = case_data (&c, v->fv);
+         const union value *val = case_data (&c, v);
 
           struct group_proc *gp = group_proc_get (vars[i]);
          struct hsh_table *group_hash = gp->group_hash;