|
From: Andre B. <and...@gm...> - 2002-12-21 07:53:22
|
Baptiste Lepilleur wrote:
>>Well, since holidays start I'm not sure if my family is taking to much
>>of my spare time :-)
>>But I will check the Dev-C++ IDE and think about parsing full files,
>>which need to be discussed isn't it ?
>>
>>
>
>Yes. I already have some ideas concerning this. The difficult part will
>probably be dealing with unknown macros which do not end with a semi-colon.
>It will be fairly import that the full parser has good fault tolerance.
>
what about adding first:
- support of parsing functions/methods with there header
- support of parsing class declarations
- parse full files including macro definitions and think about fault
tolerance
Some strategy on beeing fault tollerant could be to introduce AST-Nodes
for not parsable code-parts
and also for not known type information for symbols.
>
>
>
>>And testing of cause the VC6 plug in !
>>
>>
>
>
>
>>Tell me Baptiste if there's a small job like the last one.
>>
>>
>
>Well, I can't think of one now, but you could get started on the
>IntroduceExplainingVariable refactoring.
>
>While it is not possible at the current time, when the full parser will be
>done, we might want to try to guess the return type of the extracted
>expression instead of asking it to the user.
>
>I don't know for you, but I often use this refactoring when dealing with a
>long chain of call:
>
>contact.getAddress().getPostalCode()
>=>
>const Address &address = contact.getAddress();
>address.getPostalCode();
>
>If the type of 'contact' is known (and the class declaration), we should be
>able to guess the type of the expression. This will be difficult as it will
>require expression analysis and interpretation.
>
Yeah I would try, but we need to parse class declarations to collect
this information isn't it ?
Since we need to known about a classes members/methods.
This needs the introduction of new AST-NodeTypes, any suggestions ?
I'm allready starting to think about this -- so if it's ok for you than
I will open a new to-do-item
on the Wiki pages... lets say,
"Parse method implementation and class declaration"
Some test example which should work after this extension:
class Name {
method_declaration ( ... parameters ...) ; /* optional implementation */
}
method_declaration ( ... parameters ... )
{ /* compound statement parsed using the current parser implementation */
}
-- Andre
|