public final Cond2Context cond2() throws RecognitionException {
		Cond2Context _localctx = new Cond2Context(_ctx, getState());
		enterRule(_localctx, 88, RULE_cond2);
		try {
			setState(447);
			switch (_input.LA(1)) {
			case 6:
			case INTLITERAL:
			case FLOATLITERAL:
			case IDENTIFIER:
				enterOuterAlt(_localctx, 1);
				{
				setState(437); expr();
				Checkdone();
				setState(439); ((Cond2Context)_localctx).compop = compop();
				setState(440); expr();
				Checkdone();AddELSEIF((((Cond2Context)_localctx).compop!=null?_input.getText(((Cond2Context)_localctx).compop.start,((Cond2Context)_localctx).compop.stop):null));
				}
				break;
			case 16:
				enterOuterAlt(_localctx, 2);
				{
				setState(443); match(16);
				AddELSEIF("TRUE");
				}
				break;
			case 17:
				enterOuterAlt(_localctx, 3);
				{
				setState(445); match(17);
				AddELSEIF("FALSE");
				}
				break;
			default:
				throw new NoViableAltException(this);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}