comp.lang.ada
 help / color / mirror / Atom feed
From: emory!ogicse!das-news.harvard.edu!spdcc!iecc!compilers-sender@gatech.edu  (Michael Feldman)
Subject: Re: Compiler Construction in Ada
Date: 10 Jan 93 17:58:23 GMT	[thread overview]
Message-ID: <93-01-057@comp.compilers> (raw)

mfeldman@seas.gwu.edu (Michael Feldman) writes:
>Others are commenting on the Sun compilers. I just hope you are using the
>Fischer/LeBlanc book, "Crafting a Compiler" (the Ada version).  ...

robichau@lambda.msfc.nasa.gov writes:
>Here's a vote _for_ Fischer/LeBlanc. It's the text for the undergrad
>compiler course at Georgia Tech, and the class project usually revolves
>around building a compiler, using a Pascal-ized lex/yacc suite for the
>parser and Pascal for the remainder.
>
>IMHO the discussion and description in the Ada version of LeBlanc is more
>clear and more appropriate for undergrad courses than the dragon book.

I assume that LeBlanc either taught the course or had something to do with
its structure. Undoubtedly the course and the book were better coordinated
than the one described in a previous post. It's easy when the book author
and the teacher (or course designer, anyway) are the same person :-)

But I agree with you about the clarity of the book, especially if one is
using Ada for the course, which is what Prof. Jipping had in mind.
Fischer/LeBlanc is the only compiler book acknowledging Ada as a suitable
language in which to write a compiler.

As an aside, Rational, TeleSoft, Alsys, and RR (Janus and relatives) have
all written their compilers in Ada. People I have spoken to in all these
companies confirm their satisfying experiences in using Ada for this kind
of software project. Naturally (no surprise!) I agree :-)

crigler@osceola.cs.ucf.edu (James Crigler) writes:
>If you can stand the book.  When I took the compiler course here, we used
>the book Prof. Mike mentions and I didn't like it.  Caveat: We were using
>lex/yacc to create a compiler, which is, of course (:-) the opposite
>approach to parsing.  (Since I had the class they've gone back to using
>the Dragon book :-) but I can't afford a copy :-(

Well, since you did not say what you didn't like about Fischer/LeBlanc, I
can only assume that the poor fit between the book and the tools you were
using had something to do with it. Fischer/LeBlanc provides a lot of very
useful code segments, procedures, packages, etc., for "Crafting a
Compiler" in Ada. The C version of their book does the same with C, though
the language being compiled is _still_ an Ada subset.

In my opinion, your professor did you a disservice by requiring a book
that (1) used Ada as the language of discourse and (b) focused on
hand-coding a compiler, then gave you a project in which you used
lex/yacc/C to do the actual work. That caused too much "dissonance" and,
naturally, you had an unpleasant experience. Probably soured you on Ada,
too.

Different books are written with different viewpoints and biases; books
should be selected carefully to match the intent of the course.  The
original poster, Prof. Jipping, prefers the hand-coding approach, on the
grounds (I suppose) that using tools is great once you have some
understanding of how they work. Students who have hand-coded parts of
parsers and lexers really come to appreciate what yex/yacc/aflex/ayacc buy
you, and that's just the right education for undergraduates (IMHO). 

Michael B. Feldman, co-chair, SIGAda Education Committee

Professor, Dept. of Electrical Engineering and Computer Science
School of Engineering and Applied Science
The George Washington University
Washington, DC 20052 USA
(202) 994-5253 (voice) (202) 994-5296 (fax) mfeldman@seas.gwu.edu (Internet)
-- 
Send compilers articles to compilers@iecc.cambridge.ma.us or
{ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.

             reply	other threads:[~1993-01-10 17:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-01-10 17:58 Michael Feldman [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-01-17 22:49 Compiler Construction in Ada enterpoop.mit.edu!world!iecc!compilers-sender
1993-01-15 16:59 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!zaphod.mps.ohio-state
1993-01-15 16:58 Robert I. Eachus
1993-01-15 14:00 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!zaphod.mps.ohio-state
1993-01-15 13:14 Robert Firth
1993-01-15  2:04 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!zaphod.mps.ohio-state
1993-01-13 19:53 Eliot Moss
1993-01-12  0:12 agate!spool.mu.edu!uwm.edu!ogicse!das-news.harvard.edu!spdcc!iecc!compile
1993-01-11  3:08 Brent Burton
1993-01-08 20:41 swrinde!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!pacific.mps.ohio-sta
1993-01-08 14:24 James Crigler
1993-01-07 23:28 enterpoop.mit.edu!usc!wupost!uwm.edu!ogicse!das-news.harvard.edu!spdcc!ie
1993-01-07 12:42 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!zaphod.mps.ohio-state
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox