Re: Compiler Construction - New to it and getting started.

torbenm@diku.dk (=?iso-8859-1?q?Torben_=C6gidius_Mogensen?=)
16 Feb 2005 20:49:55 -0500

          From comp.compilers

Related articles
Compiler Construction - New to it and getting started. NatLWalker@gmail.com (Nate the Capricious) (2005-02-11)
Re: Compiler Construction - New to it and getting started. napi@cs.indiana.edu (2005-02-12)
Re: Compiler Construction - New to it and getting started. torbenm@diku.dk (2005-02-16)
Re: Compiler Construction - New to it and getting started. touati@nospam-prism.uvsq.fr (TOUATI Sid) (2005-02-28)
Re: Compiler Construction - New to it and getting started. torbenm@app-4.diku.dk (2005-02-28)
Re: Compiler Construction - New to it and getting started. touati@prism.uvsq.fr (TOUATI Sid) (2005-03-01)
| List of all articles for this month |

From: torbenm@diku.dk (=?iso-8859-1?q?Torben_=C6gidius_Mogensen?=)
Newsgroups: comp.compilers
Date: 16 Feb 2005 20:49:55 -0500
Organization: Department of Computer Science, University of Copenhagen
References: 05-02-039
Keywords: practice

"Nate the Capricious" <NatLWalker@gmail.com> writes:


> I want to start doing some research on compiler construction and was
> wondering what programming language you guys use or would like to use
> to implement a compiler. I know a bit of C/C++ and 'a little' Pascal
> but was reading and it seems Modula-2 and Objective CaML get alot of
> thumbs up in this department.


Of the languages you mention, I would definitely go with O'CaML. The
reasons are:


  - The datatypes in O'CaML are almost ideal for representing syntax
      trees: You get pattern matching, simple building of trees, GC, etc.


  - The fact that datastructures are by default persistent makes symbol
      tables easy to handle. And you can use references to make
      non-persistent data structures when you need them.


  - Higher-order functions makes inherited attributes easy.


In general, you will get a much more compact and easily maintainable
compiler using O'CaML than you would with, say, C or C++. And that is
very useful if you want to experiment with variants of the compiler.


                Torben



Post a followup to this message

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