[fpc-pascal] FPC for virtual machines?

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Feb 7 13:30:35 CET 2008


On 07 Feb 2008, at 13:16, Matt Emson wrote:

> Jonas Maebe wrote:
>>
>> At this time, the compiler cannot supporting systems which lack  
>> certain architectural features (e.g., several internal  
>> transformations introduce address/pointer expressions in code  
>> which does not contain any pointers whatsoever at the Pascal  
>> level). While it is possible to override these, it would be much  
>> more difficult then just disabling a couple of things in the  
>> parser for certain targets.
> Okay, this is becoming off topic - sorry.

Not really, although fpc-devel might be more appropriate.

> To support Flash, I would assume a cross compiler would be used.  
> Does that still have the same issues?

Yes, I was only talking about the generated code, not about the  
compiler sources themselves. A simple example is in case you use

writeln(textpara,inta,intb);

Internally, this is replaced by

tempptr:=@textpara;
fpc_write_text_sint(tempptr^,a);
fpc_write_text_sint(tempptr^,b);
fpc_writeln_end(tempptr^);

The reason is that textpara could be a function call, and in that  
case it must be called only once rather than thrice (and yes,  
internally the compiler can take the address of function call  
results, and no, as a programmer you are not allowed to do that :)


Jonas



More information about the fpc-pascal mailing list