caleb531 / automata

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

Determinized regex ordering #235

Open eliotwrobson opened 3 months ago

eliotwrobson commented 3 months ago

Resolves #231 by determinizing the order that nodes get removed in the GNFA algorithm, and adds a corresponding test.

coveralls commented 3 months ago

Coverage Status

coverage: 99.613%. remained the same when pulling f31d84edb15cb405c77fa077342cfa401ac65d94 on eliotwrobson:to_regex_ordering into 9ab1a1ce4c55aeeaee59d28d99c4e3ab4b1d6bd6 on caleb531:develop.

caleb531 commented 3 months ago

@eliotwrobson Actually, I see that tests are failing on 3.8 and 3.12. Will need those tests to pass before merging.

eliotwrobson commented 3 months ago

@caleb531 yes, it looks like we're still getting some non-deterministic behavior still. I'll have to take another look later, I'm not quite sure where that behavior might be creeping in. Feel free to take a look if you like in the meantime.