anchor.diff:      return token;
     }
   
  +  /// breakStatement:
  +  ///   'break' identifier? ';'
  +  /// ;
     Token parseBreakStatement(Token token) {
       assert(optional('break', token));
       Token breakKeyword = token;
  
positive.code:     return expect('}', token);
    }
  
    Token parseAwaitExpression(Token token, bool allowCascades) {
      Token awaitToken = token;
      listener.beginAwaitExpression(awaitToken);
      token = expect('await', token);
      if (!inAsync) {
        reportRecoverableError(awaitToken, fasta.messageAwaitNotAsync);
      }
      token = parsePrecedenceExpression(token, POSTFIX_PRECEDENCE, allowCascades);
      listener.endAwaitExpression(awaitToken, token);
      return token;
    }
  
    Token parseThrowExpression(Token token, bool allowCascades) {
      Token throwToken = token;
      token = expect('throw', token);
      token = allowCascades
          ? parseExpression(token)
          : parseExpressionWithoutCascade(token);
      listener.handleThrowExpression(throwToken, token);
      return token;
    }
  
    Token parseRethrowStatement(Token token) {
      Token throwToken = token;
      listener.beginRethrowStatement(throwToken);
  
negative.code:     return token;
    }
  
    /// switchStatement:
    ///   'switch' parenthesizedExpression switchBlock
    /// ;
    Token parseSwitchStatement(Token token) {
      assert(optional('switch', token));
      Token switchKeyword = token;
  