now I'm pondering how one could write a program that, given a regular expression, automatically generates a (possibly infinite) list of all strings that are matched by that regex
feel free to reply with your favorite programming languages
@boots I don't want rand, I want a systematically-generated list
@typhlosion yeah i mean like it could be reconfigured to do that
@boots ohh
i guess mainly i was wondering how to actually, like, parse the regex and do it on one's own ;p you know, as a coding exercise
@typhlosion ahh
@boots i'm a big fan of reinventing the wheel recreationally/didactically/(both at once)
@typhlosion brute force: loop over all strings, print out only those that match the regex
@blackle i mean you're right but this is against the spirit in which the question was asked
@typhlosion actually you _might_ be able to generate a context free grammar based on a regular expression, then use that
@blackle yeah that could be one way to do it
i'll think about it, this might be fun to experiment with - with what i'm good at it'd be fairly straightforward in an imperative language but i'd like to figure out how to do it in haskell
@typhlosion well they're graphs, so you could brite force it with a backtracking graph traversal
@confusedcharlot why do people keep making bruteforce suggestions ;w; these are regexes, it should be more straightforward than that
@typhlosion well you want all of them.
@typhlosion it's easy to track different paths through the fsa in parallel w/o back tracking
https://swtch.com/~rsc/regexp/regexp1.html
but if your building strings, don't you kinda need to track the info you could trash when a matching terminates?
@typhlosion each transition yields a character to add to a string.
@typhlosion nodejs has randexp