code: boolean shift(State source)
      {
          if (!source.can_shift())
          {
              return false;
          }
  
          this.copy(source);
          stack.add(this.buffer);
          refresh_stack_information();
          ++this.buffer;
  
          this.last_action = ActionFactory.make_shift();
          this.previous = source;
          return true;
      }
docs: 不建立依存关系，只转移句法分析的焦点，即原来的右焦点词变为新的左焦点词（本状态），依此类推。
  @param source 右焦点词
  @return 是否shift成功