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: 15 Jan 93 16:58:26 GMT From: eachus@mitre-bedford.arpa (Robert I. Eachus) Subject: Re: Compiler Construction in Ada Message-ID: List-Id: I used to say that there are three parts to a compiler: parsing, semantic analysis, and code generation and that I never met anyone who enjoyed (or was expert) in all three areas. Looking at the comments on teaching compiler writing, I see exactly the same categories. Has anyone ever tried a (one-year, I hope) course where the various parts were taught by different people? I'd love to see a profile of how the grades came out. Having said all that, I'll throw my two cents in. Anyone who says lex and yacc are wonderful doesn't understand parser theory very well. (They are hacks, actually, they are hacks on top of hacks.) I was fortunate when I taught compiler construction to have access to LALR on Multics, which accepted all LALR(k) grammars and some grammars that were not even in LR(k). This allowed me to teach parser theory with toy langauges then hand out a reasonably sized grammar for students to build a translator on. (Since I don't do code generation, I usually assigned a Pascal to C translator or some such.) -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...