gll
gll copied to clipboard
Shrink the GSS based on whether calls can still be performed
With the current (breadth-first) evaluation strategy, we can use the union of the input ranges of all the scheduler entries as a conservative approximation of the range of the input that is still being parsed and correctly assume that any further calls to be made, will be entirely within that range. Therefore, any call nodes that are (partially) outside of the remaining input range can be removed.
This, just like #17, may interfere with #12, #13, #16 etc. (but the impact is less clear).