class_docstr: A ``ShiftReduceParser`` that allows you to setp through the parsing
  process, performing a single operation at a time.  It also allows
  you to change the parser's grammar midway through parsing a text.
  
  The ``initialize`` method is used to start parsing a text.
  ``shift`` performs a single shift operation, and ``reduce`` performs
  a single reduce operation.  ``step`` will perform a single reduce
  operation if possible; otherwise, it will perform a single shift
  operation.  ``parses`` returns the set of parses that have been
  found by the parser.
  
  :ivar _history: A list of ``(stack, remaining_text)`` pairs,
      containing all of the previous states of the parser.  This
      history is used to implement the ``undo`` operation.
  :see: ``nltk.grammar``
class_docstr_tok: ["A","``","ShiftReduceParser","``","that","allows","you","to","setp","through","the","parsing","process",",","performing","a","single","operation","at","a","time",".","It","also","allows","you","to","change","the","parser","'s","grammar","midway","through","parsing","a","text",".","The","``","initialize","``","method","is","used","to","start","parsing","a","text",".","``","shift","``","performs","a","single","shift","operation",",","and","``","reduce","``","performs","a","single","reduce","operation",".","``","step","``","will","perform","a","single","reduce","operation","if","possible",";","otherwise",",","it","will","perform","a","single","shift","operation",".","``","parses","``","returns","the","set","of","parses","that","have","been","found","by","the","parser",".",":","ivar","_history",":","A","list","of","``","(","stack",",","remaining_text",")","``","pairs",",","containing","all","of","the","previous","states","of","the","parser",".","This","history","is","used","to","implement","the","``","undo","``","operation",".",":","see",":","``","nltk.grammar","``"]
docstr: Perform a single parsing operation.  If a reduction is
  possible, then perform that reduction, and return the
  production that it is based on.  Otherwise, if a shift is
  possible, then perform it, and return True.  Otherwise,
  return False.
  
  :return: False if no operation was performed; True if a shift was
      performed; and the CFG production used to reduce if a
      reduction was performed.
  :rtype: Production or bool
docstr_tok: ["Perform","a","single","parsing","operation",".","If","a","reduction","is","possible",",","then","perform","that","reduction",",","and","return","the","production","that","it","is","based","on",".","Otherwise",",","if","a","shift","is","possible",",","then","perform","it",",","and","return","True",".","Otherwise",",","return","False",".",":","return",":","False","if","no","operation","was","performed",";","True","if","a","shift","was","performed",";","and","the","CFG","production","used","to","reduce","if","a","reduction","was","performed",".",":","rtype",":","Production","or","bool"]
code: def step(self):
      """
      Perform a single parsing operation.  If a reduction is
      possible, then perform that reduction, and return the
      production that it is based on.  Otherwise, if a shift is
      possible, then perform it, and return True.  Otherwise,
      return False.
  
      :return: False if no operation was performed; True if a shift was
          performed; and the CFG production used to reduce if a
          reduction was performed.
      :rtype: Production or bool
      """
      return self.reduce() or self.shift()
  
imports: from nltk.grammar import Nonterminal
  from nltk.parse.api import ParserI
  from nltk.tree import Tree
label_desc: Use image node_id 6 for calling the SteppingShiftReduceParser obj's underlying member method code with example usage: obj.step() and returns: unknown