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