I’m currently learning the Dragon Book compilation principle and rust programming language, as well as computer architecture. LLVM learning, I found that the dragon book theory too much, a lot of difficult to understand, LLVM do not know how to learn, source code too much, do not know where to look??? Looking for recommended learning methods and roadmaps? Thank you!!!
Hey @leikang123 , I found these resources much more practical and quick in terms of understanding how compilers work.
Dragon book is a good starter. Nikolaus Wirth is also a good author around compiler construction.
Their is also a series by Helmut Seidl… starting with virtual machines for imperative, oop, functional and logical languages…
Books are good for studying. But a human is not a nuremberg funnel… try out some stuff.
A job in this direction is of course helpful… maybe I am a bad job searcher, but I could not find anything in my region hahaha… BUT compiler construction was very helpful in all the jobs I had so far…
There is also this book: Crafting “Crafting Interpreters” – journal.stuffwithstuff.com by Bob Nystrom. Practical, with an easy style, but covering pretty much everything.
Piggybacking on this topic, for those who are employed working on programming language implementation, what are the important topics to understand in order to have a credible shot at an open programming language development position?
I have been fascinated by programming languages and their implementation since the late 1980s – however, my professional career has taken me along a different path and I am looking to switch career focus into this area.
Hello, how did you read the compiler internal source code, or how did you optimize the compiler? If you develop your own compiler, what are your thoughts on how to implement it? ? ?
Hello, I have read the dragon book on the compiler, and now I am in actual combat. Which compiler should I read for research and modification? ? ?
I am just an amateur, a hobbyist in language engineering. But I recommend to write your own compiler using the book about virtual machines which I posted above. I once heard the saying „If you cannot build it, you have no understanding of it“. I once made a small C-like language… in Java haha… The most challenging part their was function invocation…
I think other languages have other key concepts, like function closures for functional programming.
Even other languages use this virtual machine pattern like Java or SQLite.