Let us assume, we have a FSM (to be precise, an epsilon-NFA) in which I've got redundant structures.
I am looking for a framework that allows to factor out the redundant part into some kind of subautomaton, respectively a more canonical representation and naming of this kind of NFA.
As illustration I've got the following NFA as example (It is just an example. I don't want to discuss, whether it could be minimized or designed more intelligently.)
I imagine a representation like this:
What I am specifically looking for is the possibility, to research scientific ressources and algorithms, to basically do this kind of "refactoring", which help me argue that though the grammar I'd extract from the result may be context-free, the language is still regular (since it is naturally identical to the orignal language accepted by an NFA).
So ideally, the accepted language class of the kind of automaton is regular.
Basically nothing more than a compact representation of highly redundant NFAs.