I sincerely apologize if this is not appropriate in this stack Q&A, though it seemed the most fitting.
I want to learn formal language theory, as well as generating grammars etc. The purpose is primarily from a programming perspective (and from pure interest), not from academic requirements. My current state of knowledge includes basic college-level math (very far from good skills sadly), and of course programming skills. Which math and logic fields should I explore. What is the best way to learn it (other than majoring in mathematics)? Specific resources are welcome (as is general direction I should follow).
Also - what are skill requirements to properly learn the topic and understand it to the degree it may be useful in programming?
EDIT: my interest in this branch of mathematics started once I learned regular expressions and wanted to "delve deeper"