problem with the way yacc parses if statements