Ruby code that builds NFAs from regular experssions, converts them to DFAs and then lets us know if a string is accepted