Marc van Woerkom wrote:
You can declare objects `Queue' and `Stack' with a method `empty'. (Both can have a common abstract parent that exports a dummy virtual method `empty' that always returns `true', etc.:)
Dang. That smells like BP OOP.
It is BP-compatible OOP. ;-)
Brings me directly to the question what standard you are aiming for.
Seems like there are a lot:
- Standard Pascal (Jensen/Wirth or still different?)
- Iso Pascal (seems to be a bit extended)
GPC supports "ISO-7185 Standard Pascal (level 0 and level 1)" and large parts of "ISO-10206 Extended Pascal".
- Turbo/Borland Pascal 2, 3, 4, 5, 6, 7, .. Delphi?
BP7, with some few Delphi extensions.
- GNU extensions
Yes. Lots of.
And having read a bit through the Unit/Module issues, some features are overlapping.
Yes. See the online documentation or the ISO Standards themselves (a link is on our home page).
Any plans to enforce certain behaviours with switches like the gcc -ansi switch?
There are already such switches:
--standard-pascal-level-0 --standard-pascal --extended-pascal --borland-pascal
See: info -f gpc -n "Pascal Dialect Options"
Peter