Related articles |
---|
Is it just me or... jaycole@bgn.mindspring.com (1997-01-22) |
Re: Is it just me or... genew@mindlink.bc.ca (1997-01-25) |
Re: Is it just me or... anton@a0.complang.tuwien.ac.at (1997-01-25) |
Re: Is it just me or... mslamm@pluto.mscc.huji.ac.il (1997-01-25) |
Re: Is it just me or... preston@tera.com (1997-01-26) |
Re: Is it just me or... kers@hplb.hpl.hp.com (1997-01-29) |
Re: Is it just me or... tim@novelty.demon.co.uk (Tim Roberts) (1997-01-30) |
Re: Is it just me or... baynes@ukpsshp1.serigate.philips.com (1997-02-07) |
Re: Is it just me or... andrei@iastate.edu (1997-02-08) |
Re: Is it just me or... cdc@cosc.canterbury.ac.nz (Carl Cerecke) (1997-02-11) |
Re: Is it just me or... 100440.2732@CompuServe.COM (Robert Taylor) (1997-02-16) |
[2 later articles] |
From: | preston@tera.com (Preston Briggs) |
Newsgroups: | comp.compilers |
Date: | 26 Jan 1997 22:38:30 -0500 |
Organization: | /etc/organization |
References: | 97-01-180 97-01-185 |
Keywords: | practice |
genew@mindlink.bc.ca (Gene Wirchenko) writes:
> I would like to know why I can't find a good book on compiler
>writing that isn't either:
> a) "Here's the source for a Very Tiny <language>." or
> b) a jungle of mathematical notation that is not explained in the
>text.
> Currently, I can design and write DFSAs for simple parsing. I
>can construct a parser given a syntax (say in BNF), but I get lost
>whenever I try reading about LL<whatever>, how to implement recursive
>descent, etc.
> Is there any hope that I can find some clear material?
A book I never see people talk about is
A Concurrent Pascal Compiler for Minicomputers
Alfred C. Hartmann
Springer-Verlag 1977
Lecture Notes in Computer Science, 50
I read it when I was younger and learned a lot. In particular, it
does a great job with hand-written scanners and recursive-descent
parsers. Also has interesting ideas about overall design,
concentrating on separation of concerns, along with measurements to
help lend insight.
It does _not_ describe a Pascal compiler; instead, it describes a
compiler for the language "Concurrent Pascal" which was an
experimental language done by Per Brinch Hanson (sort of a precurser
to Edison).
Other than that, my advice is to start writing your own compiler for
some relatively easy language that piques your interest (however, I
wouldn't recommend getting involved with C or C++). Maybe Oberon or
Edison or something. Or design your own. I've done it several times.
Never liked the result, but I learned a lot.
Preston Briggs
[It is, to put it mildly, out of print, which makes it hard to find if you
don't have a good university library nearby. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.