|Project suggestion svp. email@example.com (1998-08-05)|
|Re: Project suggestion svp. firstname.lastname@example.org (1998-08-10)|
|Re: Project suggestion svp. email@example.com (1998-08-10)|
|Re: Project suggestion svp. firstname.lastname@example.org (Sergio Ruocco) (1998-08-10)|
|Re: Project suggestion svp. email@example.com (1998-08-10)|
|Date:||10 Aug 1998 10:11:30 -0400|
|Organization:||Deja News - The Leader in Internet Discussion|
firstname.lastname@example.org (Etienne Marais) wrote:
> Does anybody have any suggestions as to which (source) language I
> should choose for a compiler project. I'm considering to use java (and
> javacc) for the development of the compiler itself, and the java
> virtual machine as target. The source language can be anything not to
> difficult but interesting and useful enough to distribute the final
> compiler as freeware.
Consider using ANTLR too! Check out www.antlr.org.
What's your goal? To learn parsing? To learn compiling?
Optimization? Analysis? To do a specific piece of a system? To see
a complete language implemented from end to end? What kind of
language? Procedural? Functional? Object-Oriented? Aspect
Postscript is an interesting language. It's stack based which is very
awkward to program in but surprisingly easy to generate code for.
It's more interpreted than compiled, though. But it shouldn't be too
hard to implement the interpreter leaving stubs for the graphics
calls, a good portion of which could be implemented with the java 2D
Python is my favorite today. I like its simple, elegant syntax and
computational model. I also find it enormously useful. However,
there are already two pretty complete implementations, one in C and
one in Java. See www.python.org.
Aspect-Oriented langauges sound like a lot of fun to me. Check out
http://www.parc.xerox.com/spl/projects/aop/ for some interesting
reading. These would tend to be implemented as source to source
translators instead of actual compilers, but would be doing a lot of
compiler related analysis.
Return to the
Search the comp.compilers archives again.