I am trying to understand "On the complexity of general context-free language parsing and recognition" by Walter L. Ruzzo. One of the results from the paper is about generating a parse tree when only a (blackbox) recognizer is given. Unfortunately, I am stuck at the sentence "Given recognizers for these languages, we can implement the "divide and conquer" parsing strategy outlined above." from the paper (p 491).
The question is, where do these recognizers (that the paper mentions in that sentence) suddenly come from? Given the rather succinct explanation in the paper, I am also finding it difficult to form an intuition about how this algorithm works. What is required out of the blackbox recognizer to derive a parse tree using this algorithm? Do I need to keep information about which nonterminals recognize which parts of the input? (Given that multiple grammars can recognize the same language, this seems like a requirement, but the paper doesn't seem to say so) If not, how does this work?
Editing to provide additional context: The confusing aspect of this paper is its claim: "We will show how to construct from any recognizer a parser which is only about $log n$ times slower than the recognizer (on strings of length $n$)." A recognizer is an oracle that tells you whether a particular input is in the language or not. Given such a recognizer, and assuming the grammar is given, there is no mention in the paper anywhere about constructing additional recognizers for substrings of the language. Without such additional recognizers, I am not clear how the parse tree construction works in this algorithm.
My reference for background research as requested by D.W: Dick Grune and Ceriel J. H. Jacobs. Parsing Techniques: A Practical Guide (Second Edition). Springer, 2008.