Earley parser is one example of chart parser, also called dynamic
programming parser. There are many other kinds such as the CYK parser,
the GLR and GLL parser, and more.
The whole point of chart parsing is to build a unique chart that will
mimic all possible parsing computations, since there may be
exponentially many (or even infinitely many in pathological cases). It
is organized so that parts of computations that are common to distinct
parses are somehow shared. This is so effective that the whole
computation is done in cubic time at worst.
The basic chart parser is a recognizer. However the chart can
incorporate a structure that also keep track of the corresponding parse
trees, or more precisely of all parse-trees corresponding to these
This structure for the parses trees tries to share common subparts (as
the chart does for parsing computation), so that exponentially many
parse trees can actually be represented in a unique structure that has
a cubic size.
So, if I understand your question correctly, the answer is that the
two parse-trees (or as many as there are) are all stored in the same
structure associated to the unique chart.
Such a structure is often called a shared forest, but its organization
can vary a bit, depending on the specific algorithm. The structure
used by Earley's algorithms is not too easy to understand.
For more information, I suggest you look at the question: Is there a
favoured data structure for storing ambiguous parse trees in Natural
For a detailed intuitive explanation of how sharing is organized to get an a possibly exponential (or even infinite) number of trees in a cubic structure, you may look at the first 6 pages of this 1991 paper by Lang. It does contain some simple examples. There are other papers on the web with such examples (I could copy some here, if really needed ... but since they are available with comments ...). One important point to keep in mind is that those diagram give you the a kind of purified version of the basic mechanism. It may be a lot more confused in actual parsers because this is encoded and interacting with the specific parsing process (This is the case for the Earley parser). But describing that is usually much too technical. I discuss a bit, about Earley's parser, in an answer to a question on another SE site: How do I reconstruct the forest of syntax trees from the Earley vector?
Getting an infinite number of trees in a cubic structure should not be too surprising. After all, CF grammar can be pretty small and still represent an infinite number of trees.
I would have tried to show sharing of subparts in your example, but I do not understand your notation. May be you can explain it: I could not draw trees from what you wrote. What is the + for? What does it mean to have an open parenthesis not preceded by a syntactic category?