final public RGB Colour() throws ParseException {
        final Expression e1, e2, e3;
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case LBRACKET:
      jj_consume_token(LBRACKET);
      e1 = FloatExpression();
      jj_consume_token(COMMA);
      e2 = FloatExpression();
      jj_consume_token(COMMA);
      e3 = FloatExpression();
      jj_consume_token(RBRACKET);
                  {if (true) return new RGB(e1, e2, e3);}
      break;
    case STRING_END:
    case STRING:
    case IDENTIFIER:
    case CHARACTER:
    case VARIABLE:
      e1 = StringExpression(IN_STRING);
                  {if (true) return new RGB(e1);}
      break;
    default:
      jj_la1[39] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    throw new Error("Missing return statement in function");
  }