From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 10 Jan 93 17:58:23 GMT From: emory!ogicse!das-news.harvard.edu!spdcc!iecc!compilers-sender@gatech.edu (Michael Feldman) Subject: Re: Compiler Construction in Ada Message-ID: <93-01-057@comp.compilers> List-Id: 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.