public final void gen_if() throws RecognitionException {
		try {
			// Python.g:436:7: ( 'if' test ( gen_iter )? )
			// Python.g:436:9: 'if' test ( gen_iter )?
			{
			match(input,85,FOLLOW_85_in_gen_if3879); if (state.failed) return;
			pushFollow(FOLLOW_test_in_gen_if3881);
			test();
			state._fsp--;
			if (state.failed) return;
			// Python.g:436:19: ( gen_iter )?
			int alt125=2;
			int LA125_0 = input.LA(1);
			if ( (LA125_0==82||LA125_0==85) ) {
				alt125=1;
			}
			switch (alt125) {
				case 1 :
					// Python.g:436:19: gen_iter
					{
					pushFollow(FOLLOW_gen_iter_in_gen_if3883);
					gen_iter();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
	}