private Expression ParseBitwiseOrExp() { var arg1 = ParseXorExp(); if (PeekType() != TokenType.B_OR) { return(arg1); } var oper = PeekToken(); ReadToken(); var arg2 = ParseBitwiseOrExp(); Wall.BOr(arg1, arg2, oper); return(Expression.Or(arg1, arg2)); // non-short-circuit evaluation }