[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