RFR 8192974: overhaul descriptor string parsing
maurizio.cimadamore at oracle.com
Tue Dec 5 13:25:15 UTC 2017
Whoops - forgot webrev:
On 05/12/17 13:23, Maurizio Cimadamore wrote:
> this patch is a rewriting on the layout descriptor parser code - the
> previous code was working correctly, but was a bit too convoluted and
> lacked documentation. The new code is simpler and adds the grammar
> productions in the javadoc of the various parsing methods. This work
> should make it easier to add new features to the layout descriptor DSL
> (such as symbolic references).
> The new parser has a single entry point - namely 'parseLayout', which
> gives back a Stream<Type>.
> I've written a big test case that generates the set of sentences that
> can be expressed in the descriptor grammar - of course since this set
> is infinite, we need to do some tricks in order to prevent infinite
> expansions of productions - and we also need to do some tricks not to
> generate too many combinations.
> Currently, the test checks approx 7 millions different combinations -
> and it does so in 10 seconds and with 1G of heap, which I think it's
> I also had to tweak the existing DescriptorTest as that was relying on
> the structure of the old parser.
More information about the panama-dev