1

The Dragon book is a famous book for designing a compiler. Is there another book like that or a great article about that? And what're the keywords about compilers? I wanna know how a new language is created.

thkala
  • 84,049
  • 23
  • 157
  • 201
miqbal
  • 2,213
  • 3
  • 27
  • 35
  • you can start with [Let's Build a Compiler](http://compilers.iecc.com/crenshaw/) – Nick Dandoulakis Jan 18 '11 at 20:43
  • duplicate of [Learning to write a compiler](http://stackoverflow.com/questions/1669/learning-to-write-a-compiler) – Nick Dandoulakis Jan 18 '11 at 20:45
  • 2
    Creating a new language is different from making a compiler for a language. This question could get focussed answers if you break it into two different questions, one for building a compiler and another for creating a new language. – vpit3833 Jan 18 '11 at 22:28
  • I meant designing compiler for a new language – miqbal Jan 19 '11 at 01:47

4 Answers4

1

There is a great book on implementing functional languages, just a little bit outdated: http://research.microsoft.com/en-us/um/people/simonpj/papers/pj-lester-book/

Another useful source (on languages in general, not just on compilation) is http://www.amazon.com/Theories-Programming-Languages-John-Reynolds/dp/0521594146

SK-logic
  • 9,605
  • 1
  • 23
  • 35
0

If you are willing to go .NET: http://www.amazon.com/Build-Your-NET-Language-Compiler/dp/1590591348

Brad Christie
  • 100,477
  • 16
  • 156
  • 200
Gregory A Beamer
  • 16,870
  • 3
  • 25
  • 32
0

Writing Compilers and Interpreters, by Ronald Mack, is an excellent "practical" text that walks you through the important parts of a compiler and how they are constructed. The original edition was C, the second edition was C++, and the current edition is Java.

It is a much easier read than the Dragon Book.

Joe Zitzelberger
  • 4,238
  • 2
  • 28
  • 42
0

This book gives you an overview of programming paradigms and may be useful: http://www.amazon.com/Concepts-Techniques-Models-Computer-Programming/dp/0262220695

mrzasa
  • 22,895
  • 11
  • 56
  • 94