11 Commits

Author SHA1 Message Date
Justin Viiret
a1bc69f3dd rose_build_groups: allow simple-exh lits to squash 2017-04-26 15:18:13 +10:00
Alex Coyte
bbd64f98ae allow streams to marked as exhausted in more cases
At stream boundaries, we can mark streams as exhausted if there are no
groups active and there are no other ways to report matches. This allows us
to stop maintaining the history buffer on subsequent stream writes.
Previously, streams were only marked as exhausted if a pure highlander case
reported all patterns or the outfix in a sole outfix case died.
2017-04-26 14:44:53 +10:00
Alex Coyte
e1e9010cac Introduce custom adjacency-list based graph 2016-12-02 11:31:33 +11:00
Justin Viiret
7cc5346c11 assign groups: turn pair<pair> into a tuple 2016-08-10 14:49:24 +10:00
Justin Viiret
7690881f85 rose: make assignGroupsToLiterals a free function 2016-07-08 10:47:08 +10:00
Justin Viiret
89dbbe6c53 rose: make assignGroupsToRoles a free function 2016-07-08 10:47:08 +10:00
Justin Viiret
de201997b7 rose_build_groups: move findGroupSquashers 2016-07-08 10:47:07 +10:00
Justin Viiret
70ef229b2b rose_build_groups: move getGroups, getSuccGroups 2016-07-08 10:47:07 +10:00
Justin Viiret
42419a26d2 rose_build_groups: move assignGroupsToRoles 2016-07-08 10:47:07 +10:00
Justin Viiret
2b24000b1a rose_build_groups: move assignGroupsToLiterals 2016-07-08 10:47:07 +10:00
Justin Viiret
c2496fbf76 rose: elide SET_GROUPS when possible 2016-07-08 10:47:07 +10:00