mode_count++;
tt.mode = MODE_SINGLE;
lex_match (lexer, T_EQUALS);
- lex_force_num (lexer);
+ if (!lex_force_num (lexer))
+ goto parse_failed;
testval = lex_number (lexer);
lex_get (lexer);
}
value_init (&gval0, var_get_width (gvar));
parse_value (lexer, &gval0, gvar);
cut = true;
- if (lex_match (lexer, T_COMMA))
+ if (lex_token (lexer) != T_RPAREN)
{
+ lex_match (lexer, T_COMMA);
value_init (&gval1, var_get_width (gvar));
parse_value (lexer, &gval1, gvar);
cut = false;
}
- lex_force_match (lexer, T_RPAREN);
+ if (! lex_force_match (lexer, T_RPAREN))
+ goto parse_failed;
}
else
{
if ( lex_match_id (lexer, "CIN") || lex_force_match_id (lexer, "CI"))
if ( lex_force_match (lexer, T_LPAREN))
{
- lex_force_num (lexer);
+ if (!lex_force_num (lexer))
+ goto parse_failed;
tt.confidence = lex_number (lexer);
lex_get (lexer);
- lex_force_match (lexer, T_RPAREN);
+ if (! lex_force_match (lexer, T_RPAREN))
+ goto parse_failed;
}
}
else