longlits done righter, 5th try
longlits done righter, 5th try

We create two new edge types, variants of CODEPOINT and CODEPOINT_I,
that indicate the final edge of a literal match that might be a candidate
for our longest literal.  When these are later merged into alternatives,
the information about which fate the longlit is interested in is snuck into
the act word of the longlit edge.  The NFA engine knows how to unpack the
fate number and remember the longest literal offset for each possible fate.

At this point we do not attempt to study concats for the final literal;
we just mark the final char of each literal regardless.  In practice
most literals are a single node, so it's not clear whether optimizing
concated nodes will gain much.

cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp,cygx/nqp