Your CodeProcess::do_macro_match is still wrong, please read
https://metacpan.org/pod/distribution/Marpa-R2/pod/Scanless/R.pod#g1_location_to_span()
.
"Mike's" workaround is quite correct, you have to "merge" the G1 start and
end locations.
Clearer code in attachment.
Le samedi 4 août 2018
The interface here is a series of layers that grew over the history of R2
-- there never really was any design so conventions change between each
call. In other words, it's a mess. The emphasis in R2 is on backward
compatibility so, alas, it won't improve.
In R3 I redesigned G1 locations and