case 2:
lex_error (lexer, NULL);
goto lossage;
+ case 3:
+ continue;
default:
NOT_REACHED ();
}
struct chisquare_test *cstp = pool_alloc (specs->pool, sizeof (*cstp));
struct one_sample_test *tp = &cstp->parent;
struct npar_test *nt = &tp->parent;
-
+ int retval = 1;
nt->execute = chisquare_execute;
nt->insert_variables = one_sample_insert_variables;
}
}
else
- lex_put_back (lexer, T_SLASH);
+ retval = 3;
}
if ( cstp->ranged && cstp->n_expected > 0 &&
specs->test[specs->n_tests - 1] = nt;
- return 1;
+ return retval;
}
struct binomial_test *btp = pool_alloc (specs->pool, sizeof (*btp));
struct one_sample_test *tp = &btp->parent;
struct npar_test *nt = &tp->parent;
+ bool equals;
nt->execute = binomial_execute;
nt->insert_variables = one_sample_insert_variables;
if ( lex_match (lexer, T_LPAREN) )
{
+ equals = false;
if ( lex_force_num (lexer) )
{
btp->p = lex_number (lexer);
return 0;
}
else
- /* Kludge: q2c swallows the '=' so put it back here */
- lex_put_back (lexer, T_EQUALS);
+ equals = true;
- if (lex_match (lexer, T_EQUALS) )
+ if (equals || lex_match (lexer, T_EQUALS) )
{
if (parse_variables_const_pool (lexer, specs->pool, dataset_dict (ds),
&tp->vars, &tp->n_vars,