Hi,
Is this a bug or a feature:
type
Pint = ^int;
int = PInt;?
Mattias

Mailing lists / fpc-pascal / 2018-04
5 messages · 4 people ·
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hi,
Is this a bug or a feature:
type
Pint = ^int;
int = PInt;?
Mattias
Note that Delphi gives error "Type 'PInt' is not yet completely defined".
Mattias
Is this a bug or a feature: type Pint = ^int; int = PInt; ? Mattias
It's a bug.
Jonas
imagine a linked list.. with nothing but the pointers.. lol
program TESTPT ( OUTPUT ) ;
//************************************************
//$A+ ... enable Assembler output
//************************************************
type PT = -> PT ;
var PTEST : PT ;
function LQUEUE ( P : PT ) : INTEGER ;
var L : INTEGER ;
begin (* LQUEUE *)
L := 0 ;
while P NIL do
begin
P := P -> ;
L := L + 1
end (* while *) ;
LQUEUE := L
end (* LQUEUE *) ;
begin (* HAUPTPROGRAMM *)
NEW ( PTEST ) ;
NEW ( PTEST -> ) ;
NEW ( PTEST -> -> ) ;
NEW ( PTEST -> -> -> ) ;
NEW ( PTEST -> -> -> -> ) ;
NEW ( PTEST -> -> -> -> -> ) ;
PTEST -> -> -> -> -> := NIL ;
WRITELN ( LQUEUE ( PTEST ) ) ;
end (* HAUPTPROGRAMM *) .the result is:
c:\work\pascal\work>pcint prr=testpt.prr inc=paslibx,pasutils, pas=testpt.pas out=testpt.prrlis
PCINT (Build 1.0 Apr 5 2018 07:58:58)
5
c:\work\pascal\work>
this is the New Stanford Pascal compiler,
a modern variant of Wirth's P4 compiler.
that is:
type
PINT = -> INT ;
INT = PINT ;
PT = -> PT ;this is all possible in Standard Pascal, IMO,
although not very useful, of course.
Kind regards
Bernd