[fpc-pascal] reading PPU files

Peter Vreman peter at freepascal.org
Wed Jun 25 12:42:09 CEST 2008


Florian Klaempfl wrote:
> Mattias Gaertner schrieb:
>> On Tue, 24 Jun 2008 23:14:34 +0200
>> Florian Klaempfl <florian at freepascal.org> wrote:
>>
>>> Mattias Gaertner schrieb:
>>>> I want to read ppu files like the ppudump tool.
>>>> ppudump uses the unit compiler/ppu.pp, but ppu.ppu is not
>>>> installed by default. At least not on debian.
>>>>
>>>> Should I make a copy of this unit?
>>> No ;)
>>>
>>>> Will this work for the various compilers (e.g. compiling the tool
>>>> with 2.2.3 and reading 2.2.x and 2.3.x ppu files)?
>>> Sometimes it works, sometimes not. ppudump is also often out of date. 
>>> What exactly do you want to achive?
>>
>> Reading ppu files with the codetools. First getting information about
>> unit dependencies and initialization/finalization sections. Later some
>> type information.
> 
> Well, if you really dare to do so, the best is probably copying from 
> time to time the necessary fpc sources.

The ppu unit from the compiler and ppudump has become too much dependent 
on other units of the compiler that i don't think it is recommended to 
be used by other projects. The current dependencies are below:

Compiling ppudump.pp
Compiling /home/peter/fpc/compiler/constexp.pas
Compiling /home/peter/fpc/compiler/ppu.pas
Compiling /home/peter/fpc/compiler/globtype.pas
Compiling /home/peter/fpc/compiler/systems.pas
Compiling /home/peter/fpc/compiler/cutils.pas
Compiling /home/peter/fpc/compiler/fpccrc.pas
Compiling /home/peter/fpc/compiler/cclasses.pas
Compiling /home/peter/fpc/compiler/cstreams.pas
Compiling /home/peter/fpc/compiler/i386/cpuinfo.pas
Compiling /home/peter/fpc/compiler/version.pas

It might be better to write a clean PPU reader using streams. The PPU 
format is stable and TLV based so multiple ppu-versions can be 
supported. For the compiler and ppudump this is not a requirement, but 
for lazarus it is needed especially if it wants to use type information.

Peter



More information about the fpc-pascal mailing list