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"

  • 4
    $\begingroup$ I think that the best book to begin is "Introduction to automata theory, languages and computation" by Hopcroft, Ullman and Motwani. $\endgroup$
    – Lamine
    May 24, 2018 at 8:36
  • 2
    $\begingroup$ If you make it an answer I shall mark it correct $\endgroup$
    – Niteraleph
    May 24, 2018 at 11:37
  • 2
    $\begingroup$ If you're interested in automata, I particularly like this website: automatatutor.com $\endgroup$ May 24, 2018 at 20:48
  • 3
    $\begingroup$ Another book to consider is "Introduction to the Theory of Computation" by Michael Sipser. $\endgroup$ May 24, 2018 at 20:49
  • 3
    $\begingroup$ I apologize for that. Wasn't sure where to place it. If you could point me to another stack Q&A I could move the question there. Anyways, do you believe I should remove the question or leave it (whatever is more beneficial for the community of this site)? $\endgroup$
    – Niteraleph
    May 26, 2018 at 15:41

1 Answer 1


Theory of computation by M. Sipser is interesting per se. For introduction you have to practice and go in following sequence.

  1. Regular language and automata
  2. Context free grammar and expressions
  3. Pushdown automata
  4. Non context free grammar
  5. Lr(k) grammar
  6. Turing Machines

If interest level drops keep reading a fun book https://en.wikipedia.org/wiki/A_New_Kind_of_Science


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.