[fpc-devel] property syntax extension
Florian Klaempfl
florian at freepascal.org
Sun Oct 21 14:04:18 CEST 2007
Mattias Gaertner schrieb:
> On Sun, 21 Oct 2007 08:36:24 +0200 (CEST)
> Daniƫl Mantione <daniel.mantione at freepascal.org> wrote:
>
>>
>> Op Sun, 21 Oct 2007, schreef Michael Van Canneyt:
>>
>>>>> .ppu file format is something so general and
>>>>> commonly used by (Free) Pascal programmers that
>>>>> it should become part of our RTL.
>>>> And another:
>>>> A lazarus built with fpc 2.0.4 should be able to read the ppu of
>>>> 2.3.x. Even though the ppu format is very stable, it is not
>>>> carved in stone.
>>> It's built so that a newer version can always read an older PPU file
>>> and vice versa: an old ppu unit can read a newer file, but just
>>> doesn't know how to interpret certain blocks.
>> This is not true. Take for example:
>>
>> procedure tarraydef.ppuwrite(ppufile:tcompilerppufile);
>> begin
>> inherited ppuwrite(ppufile);
>> ppufile.putderef(_elementdefderef);
>> ppufile.putderef(rangedefderef);
>> ppufile.putaint(lowrange);
>> ppufile.putaint(highrange);
>> ppufile.putsmallset(arrayoptions);
>> ppufile.writeentry(ibarraydef);
>> end;
>>
>> If the arrayoptions for example becomes a large set (>32 elements), an
>> old version that will try to read a new version will read too little
>> data. We will of course bump the ppu version, so the compile refuses
>> old ppus.
>
> Is the newer ppureader be able to read older ppu?
> In other words: Does a current ppureader contains the code to read the
> old format too?
No.
I discussed this already with Paul. My proposal is generate a separate
xml file containing the attributes. This xml can be used by IDEs or
included in the final executable if necessary.
More information about the fpc-devel
mailing list