home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / lang / ada / 3934 < prev    next >
Encoding:
Internet Message Format  |  1993-01-10  |  4.1 KB

  1. Xref: sparky comp.lang.ada:3934 comp.compilers:2130
  2. Path: sparky!uunet!gatech!emory!ogicse!das-news.harvard.edu!spdcc!iecc!compilers-sender
  3. From: mfeldman@seas.gwu.edu (Michael Feldman)
  4. Newsgroups: comp.lang.ada,comp.compilers
  5. Subject: Re: Compiler Construction in Ada
  6. Keywords: courses, Ada, books
  7. Message-ID: <93-01-057@comp.compilers>
  8. Date: 10 Jan 93 17:58:23 GMT
  9. Article-I.D.: comp.93-01-057
  10. References: <93-01-028@comp.compilers> <93-01-048@comp.compilers> <93-01-050@comp.compilers>
  11. Sender: compilers-sender@iecc.cambridge.ma.us
  12. Reply-To: mfeldman@seas.gwu.edu (Michael Feldman)
  13. Organization: George Washington University
  14. Lines: 67
  15. Approved: compilers@iecc.cambridge.ma.us
  16.  
  17. mfeldman@seas.gwu.edu (Michael Feldman) writes:
  18. >Others are commenting on the Sun compilers. I just hope you are using the
  19. >Fischer/LeBlanc book, "Crafting a Compiler" (the Ada version).  ...
  20.  
  21. robichau@lambda.msfc.nasa.gov writes:
  22. >Here's a vote _for_ Fischer/LeBlanc. It's the text for the undergrad
  23. >compiler course at Georgia Tech, and the class project usually revolves
  24. >around building a compiler, using a Pascal-ized lex/yacc suite for the
  25. >parser and Pascal for the remainder.
  26. >
  27. >IMHO the discussion and description in the Ada version of LeBlanc is more
  28. >clear and more appropriate for undergrad courses than the dragon book.
  29.  
  30. I assume that LeBlanc either taught the course or had something to do with
  31. its structure. Undoubtedly the course and the book were better coordinated
  32. than the one described in a previous post. It's easy when the book author
  33. and the teacher (or course designer, anyway) are the same person :-)
  34.  
  35. But I agree with you about the clarity of the book, especially if one is
  36. using Ada for the course, which is what Prof. Jipping had in mind.
  37. Fischer/LeBlanc is the only compiler book acknowledging Ada as a suitable
  38. language in which to write a compiler.
  39.  
  40. As an aside, Rational, TeleSoft, Alsys, and RR (Janus and relatives) have
  41. all written their compilers in Ada. People I have spoken to in all these
  42. companies confirm their satisfying experiences in using Ada for this kind
  43. of software project. Naturally (no surprise!) I agree :-)
  44.  
  45. crigler@osceola.cs.ucf.edu (James Crigler) writes:
  46. >If you can stand the book.  When I took the compiler course here, we used
  47. >the book Prof. Mike mentions and I didn't like it.  Caveat: We were using
  48. >lex/yacc to create a compiler, which is, of course (:-) the opposite
  49. >approach to parsing.  (Since I had the class they've gone back to using
  50. >the Dragon book :-) but I can't afford a copy :-(
  51.  
  52. Well, since you did not say what you didn't like about Fischer/LeBlanc, I
  53. can only assume that the poor fit between the book and the tools you were
  54. using had something to do with it. Fischer/LeBlanc provides a lot of very
  55. useful code segments, procedures, packages, etc., for "Crafting a
  56. Compiler" in Ada. The C version of their book does the same with C, though
  57. the language being compiled is _still_ an Ada subset.
  58.  
  59. In my opinion, your professor did you a disservice by requiring a book
  60. that (1) used Ada as the language of discourse and (b) focused on
  61. hand-coding a compiler, then gave you a project in which you used
  62. lex/yacc/C to do the actual work. That caused too much "dissonance" and,
  63. naturally, you had an unpleasant experience. Probably soured you on Ada,
  64. too.
  65.  
  66. Different books are written with different viewpoints and biases; books
  67. should be selected carefully to match the intent of the course.  The
  68. original poster, Prof. Jipping, prefers the hand-coding approach, on the
  69. grounds (I suppose) that using tools is great once you have some
  70. understanding of how they work. Students who have hand-coded parts of
  71. parsers and lexers really come to appreciate what yex/yacc/aflex/ayacc buy
  72. you, and that's just the right education for undergraduates (IMHO). 
  73.  
  74. Michael B. Feldman, co-chair, SIGAda Education Committee
  75.  
  76. Professor, Dept. of Electrical Engineering and Computer Science
  77. School of Engineering and Applied Science
  78. The George Washington University
  79. Washington, DC 20052 USA
  80. (202) 994-5253 (voice) (202) 994-5296 (fax) mfeldman@seas.gwu.edu (Internet)
  81. -- 
  82. Send compilers articles to compilers@iecc.cambridge.ma.us or
  83. {ima | spdcc | world}!iecc!compilers.  Meta-mail to compilers-request.
  84.