public final void expr() throws RecognitionException {
		try {
			// Python.g:318:6: ( xor_expr ( VBAR xor_expr )* )
			// Python.g:318:8: xor_expr ( VBAR xor_expr )*
			{
			pushFollow(FOLLOW_xor_expr_in_expr2611);
			xor_expr();
			state._fsp--;
			if (state.failed) return;
			// Python.g:318:17: ( VBAR xor_expr )*
			loop73:
			while (true) {
				int alt73=2;
				int LA73_0 = input.LA(1);
				if ( (LA73_0==VBAR) ) {
					alt73=1;
				}

				switch (alt73) {
				case 1 :
					// Python.g:318:18: VBAR xor_expr
					{
					match(input,VBAR,FOLLOW_VBAR_in_expr2614); if (state.failed) return;
					pushFollow(FOLLOW_xor_expr_in_expr2616);
					xor_expr();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop73;
				}
			}

			}

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