public final Cond3Context cond3() throws RecognitionException {
		Cond3Context _localctx = new Cond3Context(_ctx, getState());
		enterRule(_localctx, 90, RULE_cond3);
		try {
			setState(459);
			switch (_input.LA(1)) {
			case 6:
			case INTLITERAL:
			case FLOATLITERAL:
			case IDENTIFIER:
				enterOuterAlt(_localctx, 1);
				{
				setState(449); expr();
				Checkdone();
				setState(451); ((Cond3Context)_localctx).compop = compop();
				setState(452); expr();
				Checkdone();Checkwhile((((Cond3Context)_localctx).compop!=null?_input.getText(((Cond3Context)_localctx).compop.start,((Cond3Context)_localctx).compop.stop):null));
				}
				break;
			case 16:
				enterOuterAlt(_localctx, 2);
				{
				setState(455); match(16);
				Checkwhile("TRUE");
				}
				break;
			case 17:
				enterOuterAlt(_localctx, 3);
				{
				setState(457); match(17);
				Checkwhile("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;
	}