Rust Regex Engine

This project was also an exercise on implementing Data Oriented Design Principles. I also wanted to know how regex engines are implemented. My primary reference was on a paper about Thompson NFAs. and the reference code primarily used mallocs and linkedlists. This in my mind, was not cach-friendly, so I implemented my own take about it using arrays and referencing the states using array indexes instead of pointers.

This was a fun project to make, and I also helped one person who submitted an issue that my implementation helped them with theirs.

MIT 2022 © Shoshin.