public final void and_expr() throws RecognitionException {
		try {
			// Python.g:324:10: ( shift_expr ( AMPER shift_expr )* )
			// Python.g:324:12: shift_expr ( AMPER shift_expr )*
			{
			pushFollow(FOLLOW_shift_expr_in_and_expr2657);
			shift_expr();
			state._fsp--;
			if (state.failed) return;
			// Python.g:324:23: ( AMPER shift_expr )*
			loop75:
			while (true) {
				int alt75=2;
				int LA75_0 = input.LA(1);
				if ( (LA75_0==AMPER) ) {
					alt75=1;
				}

				switch (alt75) {
				case 1 :
					// Python.g:324:24: AMPER shift_expr
					{
					match(input,AMPER,FOLLOW_AMPER_in_and_expr2660); if (state.failed) return;
					pushFollow(FOLLOW_shift_expr_in_and_expr2662);
					shift_expr();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop75;
				}
			}

			}

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