Related articles |
---|
time to write a compiler roman@gaudi.ccsf.caltech.edu (1990-10-31) |
time to write a compiler meissner@osf.org (1990-11-05) |
Re: time to write a compiler holliday@csgrad.cs.vt.edu (1990-11-06) |
Re: time to write a compiler marcel@vlsi.cs.caltech.edu (1990-11-06) |
Re: time to write a compiler ge@sci.kun.nl (1990-11-07) |
Re: time to write a compiler bright@nazgul.UUCP (1990-11-08) |
Re: time to write a compiler pohua@polaris.crhc.uiuc.edu (1990-11-09) |
Re: time to write a compiler beckmann@das.harvard.edu (1990-11-09) |
Newsgroups: | comp.compilers |
From: | meissner@osf.org |
In-Reply-To: | roman@gaudi.ccsf.caltech.edu's message of 31 Oct 90 18:06:32 GMT |
Keywords: | Fortran, question |
Organization: | Compilers Central |
Date: | Mon, 5 Nov 90 11:53:11 -0500 |
| From: roman@gaudi.ccsf.caltech.edu (Roman Salvador)
|
| I would like to find out the time it takes (more or less) to write a
| compiler (i.e. a Fortran 90 one).
It depends on lots of different factors, such as:
the skill level and experience of the person(s) doing the
work;
the complexity of the language proper;
the complexity of the library (if provided);
the tools available;
doing 'just' a front end and using an existing back end, or
writing the whole ball of wax;
the target machine(s);
the desired optimization level(s).
As another data point, I wrote the front end for the Data General MV/Eclipse
C compiler from scratch to plug into the common language code generator and
optimizer. It took about 9 months from the start of the project until I had
a reasonable compiler (and another couple of years until it was rock solid).
I seem to recall the library took about 4-6 months for the first cut, but
since I didn't do much of this work, and we eventually rewrote a lot of it to
tie in with a UNIX emulation library developed elsewhere, I may be off on
this. I had a free hand in writing the front end, since the previous person
on the project had left before doing much code development and I nuked what
was left.
Some things that I remember about this:
I had to develop the compiler in PL/1, and it took some time
to learn the language.
I had to relearn C, since I had last used the V6 C compiler,
and the language had changed since then.
I was still a new programmer (I had graduated about 1-2 years
previously).
The parser generator that I used had some severe restrictions
in the early days, since it was originally run in 16-bit mode,
and could not handle 16 levels of precedence + the rest of C,
so I had to do operator precedence in PL/1 rather than in the
grammar.
The reference manual (K&R) had some subtle flaws in it (you
couldn't derive a function which returned a pointer to a
function and took some arguments from the grammar).
Convincing the code generator and optimizer to add new features
that C needed (notably the ?: operator).
Convincing the debugger to expand the common symbol table
format, to handle user defined types, and C specific items.
--
Michael Meissner email: meissner@osf.org phone: 617-621-8861
Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.