int PP_Expression::exclusive_OR_expression() { int value = AND_expression(); if (test(PP_HAT)) return value ^ exclusive_OR_expression(); return value; }
Expression *ExpressionBuilder::exclusive_OR_expression() { Expression *value = AND_expression(); if (test('^')) return createBinaryExpression('^', value, exclusive_OR_expression()); return value; }
int PP_Expression::inclusive_OR_expression() { int value = exclusive_OR_expression(); if (test(PP_OR)) return value | inclusive_OR_expression(); return value; }
Expression *ExpressionBuilder::inclusive_OR_expression() { Expression *value = exclusive_OR_expression(); if (test('|')) return createBinaryExpression('|', value, inclusive_OR_expression()); return value; }