Related articles |
---|
Compiler project needed pel@realtime.dk (Per Olesen) (2000-02-22) |
Re: Compiler project needed paulyg@clara.net (2000-02-22) |
Re: Compiler project needed dstarner98@aasaa.ofe.org (2000-02-22) |
Re: Compiler project needed cbrtjr@ix.netcom.com (Charles E. Bortle, Jr.) (2000-02-22) |
Re: Compiler project needed torbenm@diku.dk (2000-02-22) |
Re: Compiler project needed escargo@mirage.skypoint.com (2000-02-23) |
Re: Compiler project needed sasulzer@seanet.com (Stephen Sulzer) (2000-02-23) |
Re: Compiler project needed jkahrs@castor.atlas.de (Juergen Kahrs) (2000-02-23) |
Re: Compiler project needed danwang+news@cs.princeton.edu (Daniel C. Wang) (2000-02-27) |
Re: Compiler project needed dvdeug@x8b4e53cd.dhcp.okstate.edu (2000-02-27) |
Re: Compiler project needed srineet@email.com (Srineet) (2000-02-27) |
[6 later articles] |
From: | torbenm@diku.dk (Torben AEgidius Mogensen) |
Newsgroups: | comp.compilers |
Date: | 22 Feb 2000 09:32:03 -0500 |
Organization: | Department of Computer Science, U of Copenhagen |
References: | 00-02-112 |
Keywords: | design, courses |
Per Olesen <pel@realtime.dk> writes:
>I'm studying computer science on a Danish university and I'm going to
>write a compiler as a project in a course I'm taking.
You don't mention the size of the project you want to do. Writing a
full Java compiler is a fairly sizeable task, and probably not
something you would do as part of a course, so I assume somewhat
smaller projects than that.
You also dont mention if you want to concentrate on front-end issues
(parsing, type inference, intermediate-code generation) or back-end
issues (optimisation, code-generation, scheduling, register
allocation).
Anyway, here are a few suggestions:
Mostly front-end: Part of the success of Java is the C-like syntax.
Design a C-like syntax for SML and write a tool that converts this
into "real" SML and translates error messages from the SML compiler
into terms that relate to the C-like program.
Also mostly front-end. There are variants of ASP (active server pages)
for many languages, including Java and SML. Choose a language that
does not currently have an ASP-like variant and make one.
Mostly back-end: Make a compiler (for a small language) that generates
efficient code for an 8-bit processor (e.g. 6502 or Z80). Note that
this may require different strategies for register allocation and
parameter passing than the standard compiler textbooks show.
Also mostly back-end: Make two compilers: One that compiles
stack-based code into register-based code and one that goes the other
way. Make them such that using these to compile from stack to register
and back again (or vice-versa) loses as little as possible in
efficiency.
Torben Mogensen (torbenm@diku.dk)
Return to the
comp.compilers page.
Search the
comp.compilers archives again.