Compilers in six hours

ssimmons@convex.com (Steve Simmons)
Wed, 18 May 1994 12:15:47 GMT

          From comp.compilers

Related articles
Compilers in six hours macrakis@osf.org (1994-05-12)
Re: Compilers in six hours chase@Think.COM (1994-05-17)
Re: Compilers in six hours grunwald@widget.cs.colorado.edu (1994-05-17)
Re: Compilers in six hours hbaker@netcom.com (1994-05-18)
Compilers in six hours ssimmons@convex.com (1994-05-18)
Compilers in six hours ssimmons@convex.com (1994-05-19)
Re: Compilers in six hours anton@mips.complang.tuwien.ac.at (1994-05-19)
Re: Compilers in six hours chase@Think.COM (1994-05-19)
Re: Compilers in six hours hbaker@netcom.com (1994-05-20)
Re: Compilers in six hours monnier@di.epfl.ch (Stefan Monnier) (1994-05-22)
Re: Compilers in six hours munk@prl.philips.nl (1994-05-24)
[3 later articles]
| List of all articles for this month |
Newsgroups: comp.compilers
From: ssimmons@convex.com (Steve Simmons)
Keywords: courses
Organization: CONVEX News Network, Engineering (cnn.eng), Richardson, Tx USA
Date: Wed, 18 May 1994 12:15:47 GMT

> 6. Actually doing a good job of machine-language generation nowadays is
> probably nasty enough to justify a course in itself.


Hmmm... I did teach a class recently and allowed C to be the target
language (as opposed to assembly) for the compiler project.


Benefits:
    - Less time wasted on understanding an architecture.
    - Project is more likely to be completed and students walk away
        less tired.


Drawbacks:
    - Do not gain an understanding of register allocation problems
        and spillage.
    - Do not understand memory allocation and address references.
    - Do not learn parameter passing well.
    - Do not learn problems with calling conventions.
    - Do not get a complete feel for linearization of the parse tree
        or expansion of any intermediate representation.
    - Do not need to do array expansion.
    - Do not need to do type conversions.
    - Do not learn about runtime libraries. They intuitively use C's.
    - Forget about instruction scheduling.


Hmmm.... I do believe that you are right. These subjects could better be
handled in a second semester. However, most programs do not require a
second semester of compilers (if offered at all). How many of those
drawbacks are necessary for a CS student to understand??? Again, one
importance of a compiler course is to understand what a compiler can do.
It is really the job market that makes the final decision for most
students. That is, would you hire a recent graduate if they could not
explain the difference between local and static variables (intelligently)?
Certainly not for a compiler job... maybe not even for a programming job.


Thank you.


Steve Simmons
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.