anchor.diff:            // Left associative, so we recurse at the next higher
             // precedence level.
             token = parsePrecedenceExpression(token.next, level + 1,
  -                                            withoutCascades);
  +                                            allowCascades);
             listener.handleBinaryExpression(operator);
           }
           info = token.info;
  
positive.code:     return token;
    }
  
    Token parseUnaryExpression(Token token, bool withoutCascades) {
      String value = token.stringValue;
      // Prefix:
      if (value === '+') {
  
negative.code:   }
  
    Token parseExpression(Token token) {
      return parsePrecedenceExpression(token, ASSIGNMENT_PRECEDENCE, true);
    }
  
    Token parseExpressionWithoutCascade(Token token) {
      return parsePrecedenceExpression(token, ASSIGNMENT_PRECEDENCE, false);
    }
  
    Token parseConditionalExpressionRest(Token token) {
  