Found in 4 comments on Hacker News
e19293001 · 2018-09-14 · Original thread
I bet this is what you are looking for: https://www.amazon.com/Compiler-Construction-Using-Java-Java...

This book taught me how to write a compiler and build a programming language of my own.

To answer you question "where and how did you start?": This is where I started learning about compilers and programming language implementation.

Here is its description from its website:

* Comprehensive treatment of compiler construction.

* JavaCC and Yacc coverage optional.

* Entire book is Java oriented.

* Powerful software package available to students that tests and evaluates their compilers.

* Fully defines many projects so students can learn how to put the theory into practice.

* Includes supplements on theory so that the book can be used in a course that combines compiler construction with formal languages, automata theory, and computability theory.

What I promise you with this book: You'll learn how to write your own programing language. Not only how compilers and about the language but also about computer architecture. This book is very easy to read and understand. It starts with very basic topics then slowly building from it until you'll grok implementing the language given the specification. You'll have the chance to build a compiler from scratch or by using JavaCC and Yacc.

e19293001 · 2017-03-20 · Original thread
I learned about recursive descent parser by reading Anthony Dos Reis book: compiler construction using java, javacc and yacc[0]. I'm a bit lazy {tired} now I'll just refer to my previous comment. It has been my favorite book. Trust me, you'll learn about compiler technology with this wonderful book.

https://news.ycombinator.com/item?id=13664714

[0] - https://www.amazon.com/Compiler-Construction-Using-Java-Java...

e19293001 · 2017-02-16 · Original thread
> Each chapter builds on the last by adding something new to the same project

I bet this is what you are looking for:

https://www.amazon.com/Compiler-Construction-Using-Java-Java...

This book taught me how to write a compiler.

Here is its description from its website:

* Comprehensive treatment of compiler construction.

* JavaCC and Yacc coverage optional.

* Entire book is Java oriented.

* Powerful software package available to students that tests and evaluates their compilers.

* Fully defines many projects so students can learn how to put the theory into practice.

* Includes supplements on theory so that the book can be used in a course that combines compiler construction with formal languages, automata theory, and computability theory.

If you already know C or C++ or Java then this book is for you. In my opinion, you can learn many computer science concepts and be able to apply to your field. The book will teach you how to write a grammar then write a parser from it then eventually be able to improve it as you go on reading and doing the exercises. It was a great moment when I feel comfortable writing recursive functions since grammars are composed of recursive functions. You'll also learn a nice way on how you can get your compiler to generate assembly code. Another feature of the book is the chapter on Finite Automata wherein you'll learn how to convert between regular expressions, regular grammars and finite automata and eventually write your own 'grep' which was for me is a mind-blowing experience. There are lots of other stuffs in this book that you could learn. Thank you Anthony J. Dos Reis for writing great books for people like me.

e19293001 · 2016-07-15 · Original thread
From my favorite author Anthony J. Dos Reis[0]

If you want to learn assembly language, computer architecture and C++ all at the same time: Assembly Language and Computer Architecture Using C++ and Java , Course Technology, 2004 [1]

If you want to learn how to write compilers, context free grammars, regular expressions and implement grep: Compiler Construction Using Java, JavaCC, and Yacc, IEEE/Wiley, 2012 [2]

If you want to learn functional programming, lambda calculus and LISP: An Introduction to Functional Programming Through Lambda Calculus by Greg Michaelson [3]

My programming skills had grown dramatically with this books. I would wholeheartedly recommend the books mentioned above for those who are interested to learn.

[0] - http://cs.newpaltz.edu/~dosreist/

[1] - https://www.amazon.com/Assembly-Language-Computer-Architectu...

[2] - https://www.amazon.com/Compiler-Construction-Using-Java-Java...

[3] - https://www.cs.rochester.edu/~brown/173/readings/LCBook.pdf - https://www.amazon.com/Introduction-Functional-Programming-C...

Fresh book recommendations delivered straight to your inbox every Thursday.