public final JumpContext jump() throws RecognitionException {
		JumpContext _localctx = new JumpContext(_ctx, getState());
		enterRule(_localctx, 102, RULE_jump);
		int _la;
		try {
			int _alt;
			setState(1119);
			switch (_input.LA(1)) {
			case T__23:
				_localctx = new GotoJumpContext(_localctx);
				enterOuterAlt(_localctx, 1);
				{
				setState(1062); gotoj();
				}
				break;
			case T__28:
				_localctx = new ReturnJumpContext(_localctx);
				enterOuterAlt(_localctx, 2);
				{
				setState(1063); match(T__28);
				setState(1072);
				_la = _input.LA(1);
				if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__53) | (1L << T__52) | (1L << T__49) | (1L << T__47) | (1L << T__46) | (1L << T__44) | (1L << T__34) | (1L << T__29) | (1L << T__20) | (1L << GID) | (1L << ID) | (1L << MSTRING))) != 0) || ((((_la - 72)) & ~0x3f) == 0 && ((1L << (_la - 72)) & ((1L << (AddOP - 72)) | (1L << (MulOP - 72)) | (1L << (UnaryOP - 72)) | (1L << (HEX - 72)) | (1L << (DEC - 72)) | (1L << (OCT - 72)) | (1L << (BIN - 72)) | (1L << (FLOAT - 72)) | (1L << (CHAR - 72)) | (1L << (STRING - 72)))) != 0)) {
					{
					setState(1064); exp(0);
					setState(1069);
					_errHandler.sync(this);
					_la = _input.LA(1);
					while (_la==T__45) {
						{
						{
						setState(1065); match(T__45);
						setState(1066); exp(0);
						}
						}
						setState(1071);
						_errHandler.sync(this);
						_la = _input.LA(1);
					}
					}
				}

				setState(1077);
				_errHandler.sync(this);
				_la = _input.LA(1);
				while (_la==T__35) {
					{
					{
					setState(1074); annotation();
					}
					}
					setState(1079);
					_errHandler.sync(this);
					_la = _input.LA(1);
				}
				setState(1080); match(T__25);
				}
				break;
			case T__20:
				_localctx = new IfJumpContext(_localctx);
				enterOuterAlt(_localctx, 3);
				{
				setState(1081); ifThenJump();
				setState(1086);
				_errHandler.sync(this);
				_alt = getInterpreter().adaptivePredict(_input,150,_ctx);
				while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
					if ( _alt==1 ) {
						{
						{
						setState(1082); match(T__3);
						setState(1083); ifThenJump();
						}
						} 
					}
					setState(1088);
					_errHandler.sync(this);
					_alt = getInterpreter().adaptivePredict(_input,150,_ctx);
				}
				setState(1090);
				_la = _input.LA(1);
				if (_la==T__3) {
					{
					setState(1089); ifElseJump();
					}
				}

				setState(1095);
				_errHandler.sync(this);
				_la = _input.LA(1);
				while (_la==T__35) {
					{
					{
					setState(1092); annotation();
					}
					}
					setState(1097);
					_errHandler.sync(this);
					_la = _input.LA(1);
				}
				setState(1098); match(T__25);
				}
				break;
			case T__17:
				_localctx = new SwitchJumpContext(_localctx);
				enterOuterAlt(_localctx, 4);
				{
				setState(1100); match(T__17);
				setState(1101); exp(0);
				setState(1105);
				_errHandler.sync(this);
				_alt = getInterpreter().adaptivePredict(_input,153,_ctx);
				while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
					if ( _alt==1 ) {
						{
						{
						setState(1102); switchCaseJump();
						}
						} 
					}
					setState(1107);
					_errHandler.sync(this);
					_alt = getInterpreter().adaptivePredict(_input,153,_ctx);
				}
				setState(1109);
				_la = _input.LA(1);
				if (_la==T__8) {
					{
					setState(1108); switchDefaultJump();
					}
				}

				setState(1114);
				_errHandler.sync(this);
				_la = _input.LA(1);
				while (_la==T__35) {
					{
					{
					setState(1111); annotation();
					}
					}
					setState(1116);
					_errHandler.sync(this);
					_la = _input.LA(1);
				}
				setState(1117); match(T__25);
				}
				break;
			default:
				throw new NoViableAltException(this);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			_errHandler.reportError(this, re);
			_errHandler.recover(this, re);
		}
		finally {
			exitRule();
		}
		return _localctx;
	}