[Lazarus] Request for student project ideas
Paulo Costa
paco at fe.up.pt
Mon Sep 14 06:49:41 CEST 2009
Hans-Peter Diettrich wrote:
>
> A transformation of C files into Pascal units, as ToPas can do (to some
> degree), IMO is only a provisional solution. When manual intervention is
> required in this step, it will be required for every following bugfix or
> improvement to the C code.
Yes. That's the main problem with an off-line tool :(
Whatever the mechanism used it must work without manual intervention.
>> A better way could be to hack a C compiler (GCC ?) and use only the
>> parser and the first compilation stage to have the symbols related to
>> the available functions and structures
>
> This part of ToPas is already finished :-)
That's nice.
> The hardest problem I found in ToPas is an automated handling of the
> #defines. They should be classified into literal constants, functions,
> macros, and (incomplete) code snippets - where code snippets IMO are of
> no use in a Pascal unit. Such classification could be done easily by an
> LR parser, but an LL parser only can deal with complete source files.
Yes, that is one of the nastiest problems.
I think that a compromise solution would be an extra file where the
macros could be classified by an human. Then, the conversion mechanism
would use that information when called. Usually, the macros don't change
very often and a warning could be issued when a new macro appeared
without classification.
Paulo Costa
More information about the Lazarus
mailing list