Hello, GPC testers! ;-)
Here is the next alpha version of GPC. You can download it at
ftp://agnes.dida.physik.uni-essen.de/gnu-pascal/alpha/gpc-2.0-970215.diff.gz
Although the changes since gpc-970207 are crucial they are almost invisible. What I did was to "sort" the different language dialects and to implement options which allow a clear distinction between them.
For example, GPC now defaults to allow nested comments { like this one (* you see? *) }, whereas ISO Standard allows comments starting with `(*' and ending with '}'.
For example, GPC now understands Borland-style character constants like `#10' (* as an alternative to `chr ( 10 )'; the notation `^J' is *not* yet implemented *). Data type like `Word' or `Pointer' are built into GPC now, but you still cannot `writeln' them.
If you specify one of `--standard-pascal-level-0', `--standard-pascal', `--extended-pascal', or `--object-pascal', nested comments are switched off by default { does anybody really use comments starting with `(*' and ending with `}'? *), and all Borland extensions (including the `#' character constants and the above data types) which contradict ISO are switched off. When you combine the above switches with `--pedantic', even those extensions which do not contradict the standard trigger warnings, with `--pedantic-errors' they trigger error messages.
To make things more symmetric, `--borland-pascal' yields the opposite effect. With this switch, warnings about a missing program header or misuse of "typed constants" are omitted; together with `--pedantic' you get warnings about Extended Pascal features not in Borland Pascal, and so on.
I heavily modified the parsing of String-related stuff. Now everything is prepared for the implementation of general Schema types ...
Now it's your turn: I would like to know how much is broken due to the above improvements.
* Please try to recompile all your GNU Pascal programs with this alpha compiler. There should be no problems.
* Please try to compile your Standard Pascal programs with GPC with and without the switches `--standard-pascal' and/or `--pedantic'. There should be less problems than before, and there should be less problems with `--standard-pascal' than without.
* The same for not too sophisticated Extended Pascal programs. (For example, Schema types are still not implemented.)
* The same for not too sophisticated Borland Pascal programs. There should be less problems with `--borland-pascal' than without.
That's it. Please post your "everything works" reports to this list. (* But bug reports are welcome, too. :*)
Yours,
Peter
Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201] maintainer GNU Pascal - http://home.pages.de/~gnu-pascal/ [970125]