private function _yield() {
    $node = new YieldNode();
    $this->mustMatch(T_YIELD, $node);
    $expr = $this->expr();
    if ($this->tryMatch(T_DOUBLE_ARROW, $node)) {
      $node->addChild($expr, 'key');
      $node->addChild($this->expr(), 'value');
    }
    else {
      $node->addChild($expr, 'value');
    }
    return $node;
  }