"Marco van de Voort" <marcov@[EMAIL PROTECTED]
> wrote in message
news:slrner1omm.hhg.marcov@[EMAIL PROTECTED]
> On 2007-01-19, Jonas Maebe <Jonas.Maebe@[EMAIL PROTECTED]
> wrote:
>>
>> By no means all Pascal compilers do this. I don't know about embedded
>> ones, but of the regular ones at least Free Pascal, GNU Pascal, Delphi
>> nor Turbo Pascal use P-Code in any way. They all generate native code.
>
> (While Delphi in the .NET flavour generates IL and Component Pascal
(which
> afaik is more an Oberon) generates JVM and IL, they are at least not
> exactly traditional Pascal)
>
While Delphi.NET is far more than J&W Pascal, it can still be used to
write
traditional Pascal software to the extent that Win32 Delphi can. Yes you
are
right, Component Pascal is a superset of Oberon-2.with extensions suited
to
the implementation of 'component' software.
Be careful not to liken .NET IL too closely with Java's JVM and ETH's
P-code. All three are similar concepts i.e. an 'intermediate language'
representation of the source code. However, the primary difference is that
IL was designed from the ground up to be compiled to native code before
execution, whereas Java (via the JVM) and P-code were primarily designed
to
be interpreted at runtime.
The consequences are that P-code and JVM are much easier to implement on
different architectures, but suffer a significant performance hit
(typically
10% of the performance of native code).
It is not quite as black and white as this - e.g. the version of UCSD
Pascal
that I used on the Sage IV micro had a P-Code to 68000 translator, Western
Digital built a CPU that executed P-Code, Java has the 'HotSpot' dynamic
compiler etc. For anybody who wants a more indepth analysis of the subject
a
good article is K John Gough's article "Stacking them up: A Comparison of
Virtual Machines":
http://sky.fit.qut.edu.au/~gough/publications.html
Chris Burrows
CFB Software
http://www.cfbsoftware.com/gpcp


|