[Lazarus] Using FPC parser/tokenizer for code formatting
Adem
listmember at letterboxes.org
Mon May 31 13:48:38 CEST 2010
On 2010-05-31 14:36, Florian Klaempfl wrote:
> Adem schrieb:
>
>> On 2010-05-31 05:36, Doug Chamberlin wrote:
>>
>> Doug,
>>
>>
>>> I have great interest in a parser-based code formatting tool. However,
>>>
>> I have doubt that using the compiler's parser is the best solution.
>>
>> It may not be the best solution basically bexause it was written solely
>> for the compiler's needs. IOW, a very customized, special purpose one.
>>
>> Yet, as far as parser goes, it is the best solution. Because it is the
>> originial source of information. Any new additions as well as
>> corrections go in there --
>>
> This is not necessarily true. Someone might hack in support for a new
> procedure specifier. However, it is not guranteed that this one would be
> exposed in any way to an external interface.
>
But, the parser does produce a parse tree, doesn't it.
And, it emits (or, could emit) events telling the calling module what
went wrong and where (and get feedback whether to stop or continue).
If it does (can do) these basic things, it is good enough for
non-compiler use. Is it not?
>> if something then begin
>> something;
>> end else begin
>> somethingelse;
>> end;
>>
>> it can also reorganize some comments in such constructs.
>>
> The compiler simply discards comments and it has no infrastructure to
> link comments in any way to code.
>
Naturally, comments are no good for the compiler --so, I am assuming
that the current parser does recognise comments but does not add them to
the parse tree; if so, it is fine, all it will have to do is to add
those nodes while the compiler still ignores them. Would that be too
difficult to add?
--
Cheers,
Adem
More information about the Lazarus
mailing list