public final void gen_for() throws RecognitionException {
		try {
			// Python.g:433:8: ( 'for' exprlist 'in' or_test ( gen_iter )? )
			// Python.g:433:10: 'for' exprlist 'in' or_test ( gen_iter )?
			{
			match(input,82,FOLLOW_82_in_gen_for3855); if (state.failed) return;
			pushFollow(FOLLOW_exprlist_in_gen_for3857);
			exprlist();
			state._fsp--;
			if (state.failed) return;
			match(input,87,FOLLOW_87_in_gen_for3859); if (state.failed) return;
			pushFollow(FOLLOW_or_test_in_gen_for3861);
			or_test();
			state._fsp--;
			if (state.failed) return;
			// Python.g:433:38: ( gen_iter )?
			int alt124=2;
			int LA124_0 = input.LA(1);
			if ( (LA124_0==82||LA124_0==85) ) {
				alt124=1;
			}
			switch (alt124) {
				case 1 :
					// Python.g:433:38: gen_iter
					{
					pushFollow(FOLLOW_gen_iter_in_gen_for3863);
					gen_iter();
					state._fsp--;
					if (state.failed) return;
					}
					break;

			}

			}

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