public final void xor_expr() throws RecognitionException {
		try {
			// Python.g:321:10: ( and_expr ( CIRCUMFLEX and_expr )* )
			// Python.g:321:12: and_expr ( CIRCUMFLEX and_expr )*
			{
			pushFollow(FOLLOW_and_expr_in_xor_expr2632);
			and_expr();
			state._fsp--;
			if (state.failed) return;
			// Python.g:321:21: ( CIRCUMFLEX and_expr )*
			loop74:
			while (true) {
				int alt74=2;
				int LA74_0 = input.LA(1);
				if ( (LA74_0==CIRCUMFLEX) ) {
					alt74=1;
				}

				switch (alt74) {
				case 1 :
					// Python.g:321:22: CIRCUMFLEX and_expr
					{
					match(input,CIRCUMFLEX,FOLLOW_CIRCUMFLEX_in_xor_expr2635); if (state.failed) return;
					pushFollow(FOLLOW_and_expr_in_xor_expr2637);
					and_expr();
					state._fsp--;
					if (state.failed) return;
					}
					break;

				default :
					break loop74;
				}
			}

			}

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