]> granicus.if.org Git - re2c/commit
Don't split tag history into individual sub-histories for tags.
authorUlya Trofimovich <skvadrik@gmail.com>
Sat, 29 Apr 2017 20:13:50 +0000 (21:13 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Sat, 29 Apr 2017 20:13:50 +0000 (21:13 +0100)
commit194d41a76ae68a23b515a6b74fd997b69de86cdc
tree88c9b288832f94eae0ea4bbac93c5f6b8221ebbd
parent81b416d5083bfc05e7af1c9fce84bb8b0d30c7f8
Don't split tag history into individual sub-histories for tags.

This is necassary for correct comparison of orbit tag histories:
if orbit tag is nested in an outer capture, this outer capture is
under repetition and there is an epsilon-path through it, then
this epsilon-path may contain pieces of orbit history that belong
to different iterations of outer capture; these pieces will be
glued together and the boundary between them will be lost.

Example: ((""){0,3}){0,2}.

However, in a common history we can always find boundaries
(they are marked by tags that correspond to outer captures).
12 files changed:
re2c/src/dfa/closure.cc
re2c/src/dfa/closure.h
re2c/src/dfa/determinization.cc
re2c/src/dfa/dump.cc
re2c/src/dfa/dump.h
re2c/src/dfa/find_state.cc
re2c/src/dfa/find_state.h
re2c/src/dfa/tagpool.cc
re2c/src/dfa/tagtree.cc
re2c/src/dfa/tagtree.h
re2c/src/dfa/tcmd.cc
re2c/src/dfa/tcmd.h