-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement noodlification #41
Conversation
As of now, a size of transition relation of the Nfa denotes the number of states and its call has constant complexity. Therefore, we no longer need a specific member variable for the number of Nfa states.
Why is |
It could be, of course. However, when discussing this with @vhavlena, we decided that it would be better for noodlify to have its own header and source files for the following reasons:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm OK with the PR except for two minor things:
- Add to comments what the noodlification and noodle is.
- Fix the possible accidental quadratic complexity.
I have addressed the mentioned issues. Furthemore, I have split the |
This PR implements function
noodlify
for noodlification of NFA.As agreed upon, we implement a naive noodlification method creating all noodles: all permutations of epsilon transitions, one from each depth. In the following PR, we will improve the current implementation with a new algorithm, creating only actually possible noodles which have a path in the original automaton.
The code has been tested with some tests.