Related articles |
---|
[42 earlier articles] |
Re: Good practical language and OS agnostic text? cr88192@hotmail.com (BGB) (2012-04-22) |
Re: Good practical language and OS agnostic text? compilers@is-not-my.name (2012-04-22) |
Re: Good practical language and OS agnostic text? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-04-22) |
Re: Good practical language and OS agnostic text? bc@freeuk.com (BartC) (2012-04-23) |
Re: Good practical language and OS agnostic text? compilers@is-not-my.name (2012-04-23) |
Re: Good practical language and OS agnostic text? basile@starynkevitch.net (2012-05-02) |
Re: Good practical language and OS agnostic text? johann@2ndquadrant.com (Johann 'Myrkraverk' Oskarsson) (2012-06-06) |
Re: Good practical language and OS agnostic text? sinu.nayak2001@gmail.com (Srinivas Nayak) (2012-06-16) |
From: | Johann 'Myrkraverk' Oskarsson <johann@2ndquadrant.com> |
Newsgroups: | comp.compilers |
Date: | Wed, 06 Jun 2012 16:52:58 +0000 |
Organization: | A noiseless patient Spider |
References: | 12-04-019 12-05-003 |
Keywords: | books |
Posted-Date: | 06 Jun 2012 17:30:34 EDT |
basile@starynkevitch.net writes:
> On Tuesday, April 17, 2012 11:28:46 PM UTC+2, (unknown) wrote:
>> Guys, I'm having a bear of a time finding a good practical language
>> and OS agnostic text on writing a compiler. I'm weak in math and not
>> interested in the theoretical details.
>
> In addition to all the good advice given by others, you might be
> interested by Christian Queinnec's Lisp in Small Pieces
> http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html
> which describes many flavors of Lisp interpreters and compilers.
I have not read the English version, only the 2nd edition in French,
Principes d'Implantation de Scheme et Lisp.
Each chapter has its own version of a complete interpreter implementing
the features discussed. So it's quite a down to the earth discussion.
Even though it discusses lisp with an implementation in lisp it's well
worth reading, or browsing through, for any language or compiler
project.
But you need to be able to read lisp. Which may or may not be worse
than math.
It goes over lisp features, one at a time. The difference between lisp
1 and 2; that is the difference between lexical and dynamic scoping and
the andvances & difficulties each imposes on the interpreter.
Recursion, single and mutual. And how each lisp version influences the
implementation.
It goes into continuations and control flow. A discussion on how
exceptions are handled in the by interpreter.
A chapter on side effects.
For the mathimatically inclined, a chapter in implementing Lisp in
Lambda Calculus. To me, this was amusing, but not apparently relevant
to practical applications.
The chapters I haven't read yet are (or recently enough to comment) are
Fast Interpretation, Compilation, Reflection, Macros (not to be confused
with the C preprocessor), Compiling to C and Essence of an Object
System.
--
Johann Oskarsson http://www.2ndquadrant.com/ |[]
PostgreSQL Development, 24x7 Support, Training and Services --+--
|
Blog: http://my.opera.com/myrkraverk/blog/
Return to the
comp.compilers page.
Search the
comp.compilers archives again.