caleb531 / automata

A Python library for simulating finite automata, pushdown automata, and Turing machines
https://caleb531.github.io/automata/
MIT License
339 stars 64 forks source link

Add shuffle product operation #96

Closed eliotwrobson closed 1 year ago

eliotwrobson commented 1 year ago

Adds shuffle product operation for NFAs. Creates an NFA that accepts interleavings of component languages. Seen this construction in some articles / other automata packages, so thought it was worth including for completeness.

coveralls commented 1 year ago

Coverage Status

Coverage remained the same at 100.0% when pulling 51b7a8727a292201770400ebac65c6e44f04f02a on eliotwrobson:shuffle_product into 36b48c8cd2bc4b97231a8d8a52dedaa25a26af33 on caleb531:develop.