Tools for code generation in undergraduate courses?

mackey@cse.ucsc.edu (Wesley Mackey )
Thu, 1 Jun 1995 13:18:20 GMT

          From comp.compilers

Related articles
Tools for code generation in undergraduate courses? mackey@cse.ucsc.edu (1995-06-01)
Re: Tools for code generation in undergraduate courses? bwilson@shasta.Stanford.EDU (Bob Wilson) (1995-06-24)
| List of all articles for this month |

Newsgroups: comp.compilers
From: mackey@cse.ucsc.edu (Wesley Mackey )
Keywords: courses, question, tools
Organization: University of California, Santa Cruz, CIS/CE Board
Date: Thu, 1 Jun 1995 13:18:20 GMT
Status: RO

Question about tool usage in compiler courses.


I am lecturing a two-course sequence in compiler design at the
UNDERGRADUATE level. course A = scanning, parsing, symtables,
icode generation course B = optimization, storage management,
code generation


There are many students who take course A but not B, so A needs
to stand independently, but obviously B depends on A.


Currently I use flex and bison as the tools for course A, but do
not use any special tools for the optimization and code
generation end of things.


Anyone have any comments about good tools which are appropriate
for this level of course. The tools should be simple enough to
learn that course time can be spent on the material and not on
the details of the tools. Also, it is probably appropriate to
use generally available tools (bison and flex) in the first
course and therefore in the second course use tools compatible
with them. This lets out PCCTS (Purdue) and Ox (Iowa State)
simple due to lack of general acceptance compared to bison and
flex.


Using anything from the gcc internals is likely too complex and
insufficiently documented to be of use for a compiler for a toy
language. SUIF (Stanford), Eli (Colorado), and Cocktail
(Karlsruhe) appear to be too large to scale down for one quarter
of code generation at the undergraduate level. Ox (Iowa State)
does not appear to have code generation tools in it.


Two possibilities are the Sorcerer component of PCCTS only and
burg/iburg/lburg from ATT research. I have seen references to
Twig but don't have the source code.


Does anyone have comments on use of these tools in an
undergraduate code generation class?


As an added note, the tools should be free and take up a small
enough amount of disk space that students can run them at home
on their Linux PC's.
--


Post a followup to this message

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