Skip to content
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

feat(string): add finite automaton #69

Closed
wants to merge 1 commit into from

Conversation

grabus
Copy link
Contributor

@grabus grabus commented Apr 19, 2024

added finite automaton.
this is deterministic one.
I am not sure if we want to split finite automaton item into deterministic and non-deterministic,
but if yes, I'd implement it within separate PR.

@alexfertel
Copy link
Owner

Hey! This is looking very good, but I think it should be a bit closer to the theory so that it is more general and it serves as a reference implementation.

You can take a look at this implementation. It's not perfect, but I think that's the gist.

Also, I think it's fine if we call it Dfa instead of DeterministicFiniteAutomaton.

I am not sure if we want to split finite automaton item into deterministic and non-deterministic

We do! That way we can also implement more advanced algorithms later like conversion between them, regexes, etc.

The NFA is also a good candidate for parallelism, so that's an interesting thing to explore.

@grabus
Copy link
Contributor Author

grabus commented May 14, 2024

so I will close this while I am playing with alexfertel/atl

@grabus grabus closed this May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants