4
$\begingroup$

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"

$\endgroup$
  • 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 '18 at 8:36
  • 2
    $\begingroup$ If you make it an answer I shall mark it correct $\endgroup$ – Niteraleph May 24 '18 at 11:37
  • 2
    $\begingroup$ If you're interested in automata, I particularly like this website: automatatutor.com $\endgroup$ – Michael Wehar May 24 '18 at 20:48
  • 3
    $\begingroup$ Another book to consider is "Introduction to the Theory of Computation" by Michael Sipser. $\endgroup$ – Michael Wehar May 24 '18 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 '18 at 15:41
6
$\begingroup$

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

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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