Pascal front-end integration

Ed Smith-Rowland 3dw4rd@verizon.net
Wed Mar 2 02:23:00 GMT 2005


On 1 Mar 2005 at 8:17, James A. Morrison wrote:

> Hi,
> 
>   I've decided I'm going to try to take the time and cleanup and update
>   the
> Pascal frontend for gcc and try it get it integrated into the upstream
> source. I'm doing this because I wouldn't like to see GPC work with GCC
> 4+. I don't care at all at supporting GPC on anything less than GCC 4.1
> so I've started by ripping out as much obviously compatibility code as I
> can and removing any traces of GPC being a separate project.

My guess is that inclusion of Pascal into gcc would give that language
more exposure and would lead to faster development.

By many accounts gcc-4 is getting faster.  It would be nice to see pascal
take advantage of this rather than being marooned on 3.x.

I, for one, am more likely to play with a gpascal that bootstraps with
mainline than to try to build one with, perhaps unusual, dependencies
and some different version of gcc.

I am learning gcc internals slowly (this is a part-time after-work effort :-P)
but I would be interested in helping wherever I can.

>   So far I have only accomplished converting lang-options.h to
> lang.opt.  I'm going
> to continue cleaning up the GPC code, then once I am happy with how the code
> looks with respect to the rest of the GCC code, I'm going to get it to
> compile with
> the current version of GCC mainline.  I'm starting with the boring
> conflict happy
> whitespace changes first so the code is easier for me to read and so that I can
> try to get an idea what the GPC frontend is doing.

Before we get too far with this I think we should keep an eye on a trend in gcc
at least through 3.4 and 4.0:  Front ends are increasingly written by hand rather
than with flex and bison.  This is true for C++ as of 3.4 and for C as of 4.1.
I'm pretty sure it's true for gfortran too.  I think this is true for gcjx too.
The latter is written in C++ to boot.

My understandng is that gpc uses flex/bison in a p2c - a pascal to C translator.
I would like to know why folks think hand written parsers are better.  My guess is that
they are easier to maintain and that they support more lookahead.

A gpascal front end effort might do well to take a hard look at the new front ends
for C and C++ (and Java) and consider a rewrite from scratch using these as models.

>   My current changes are available through bazaar (an arch implementation) which
> people can get with:
>  baz register-archive http://www.csclub.uwaterloo.ca/~ja2morri/arch <http://www.csclub.uwaterloo.ca/%7Eja2morri/arch>
>  baz get phython@gcc.gnu.org--pascal/gcc-pascal--mainline--0.3

There is another trend in gcc: a move toward Subversion from CVS.  I realize this
is a first-try effort but there would probably be less regret later if we adopt
the standard toolchain.  The decision to go to Subversion was not taken lightly.

Ed Smith-Rowland




More information about the Gcc mailing list