+static bool
+parse_n_sample_related_test (struct lexer *lexer,
+ const struct dictionary *dict,
+ struct n_sample_test *nst,
+ struct pool *pool
+ )
+{
+ union value val1, val2;
+
+ if (!parse_variables_const_pool (lexer, pool,
+ dict,
+ &nst->vars, &nst->n_vars,
+ PV_NUMERIC | PV_NO_SCRATCH | PV_NO_DUPLICATE) )
+ return false;
+
+ if ( ! lex_force_match (lexer, T_BY))
+ return false;
+
+ nst->indep_var = parse_variable_const (lexer, dict);
+
+ if ( ! lex_force_match (lexer, '('))
+ return false;
+
+ value_init (&val1, var_get_width (nst->indep_var));
+ if ( ! parse_value (lexer, &val1, var_get_width (nst->indep_var)))
+ {
+ value_destroy (&val1, var_get_width (nst->indep_var));
+ return false;
+ }
+
+ if ( ! lex_force_match (lexer, ','))
+ return false;
+
+ value_init (&val2, var_get_width (nst->indep_var));
+ if ( ! parse_value (lexer, &val2, var_get_width (nst->indep_var)))
+ {
+ value_destroy (&val2, var_get_width (nst->indep_var));
+ return false;
+ }
+
+ if ( ! lex_force_match (lexer, ')'))
+ return false;
+
+ return true;
+}
+