original_string: public function shift() {
          if (empty($this->output)) {
              $this->output = array_reverse($this->input);
              $this->input = array();
          }
          if (empty($this->output)) {
              return NULL;
          }
          return array_pop($this->output);
      }
code: public function shift() {
          if (empty($this->output)) {
              $this->output = array_reverse($this->input);
              $this->input = array();
          }
          if (empty($this->output)) {
              return NULL;
          }
          return array_pop($this->output);
      }
code_tokens: public function shift ( ) { if ( empty ( $ this -> output ) ) { $ this -> output = array_reverse ( $ this -> input ) ; $ this -> input = array ( ) ; } if ( empty ( $ this -> output ) ) { return NULL ; } return array_pop ( $ this -> output ) ; }
docstring: Shifts an element off the front of the queue.
docstring_tokens: Shifts an element off the front of the queue .