final public void conditional_waveforms() throws ParseException {
    waveform();
    label_19:
    while (true) {
      if (jj_2_17(2147483647)) {
        ;
      } else {
        break label_19;
      }
      jj_consume_token(WHEN);
      expression();
      jj_consume_token(ELSE);
      waveform();
    }
    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
    case WHEN:
      jj_consume_token(WHEN);
      expression();
      break;
    default:
      jj_la1[76] = jj_gen;
      ;
    }
  }