public function parseInputStreamWithBacktracking(InputStreamInterface $input, ExpressionResultInterface $previous_result = null)
 {
     if ($previous_result !== null) {
         return null;
     }
     $string = $input->getRemainingString();
     $result = $this->string_parser->parse($string);
     if ($result === null) {
         $input->move(-strlen($string));
         return null;
     }
     $input->move($result->getLength() - strlen($string));
     return $result;
 }