Code::Blocks

Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => CodeCompletion redesign => Topic started by: rickg22 on December 21, 2005, 05:13:18 am

Title: Welcome to CodeCompletion redesign forum!
Post by: rickg22 on December 21, 2005, 05:13:18 am
This forum is for discussing the different C++ parser models, tokenizer, class browser, and everything related to revamping the Code Completion plugin.

It is *NOT* about reporting bugs in the current version.

Welcome! :)
Title: Re: Welcome to CodeCompletion redesign forum!
Post by: takeshi miya on December 21, 2005, 05:23:46 am
Great :)
I find the CodeCompletion plugin the most important plugin after the Compiler plugin.
Or more precisely, the parser inside the CodeCompletion plugin.

Once we'll have a complete AST generated of the code, we can do a lot of things: code completion, refactoring, code test coverage, graphic class diagrams, UML modeling, documentation on the fly in the tooltips, and any kind of thing involved with the code.

Title: Re: Welcome to CodeCompletion redesign forum!
Post by: Game_Ender on December 21, 2005, 06:23:23 am
Once we'll have a complete AST generated of the code, we can do a lot of things: code completion, refactoring, code test coverage, graphic class diagrams, UML modeling, documentation on the fly in the tooltips, and any kind of thing involved with the code.

All things that have been flying around in my head.  During my lunch tomorrow I am going to try and get Elsa working (only on linux first) and dive a little deeper its AST structure.  It is late now and I am off to bed, see you all tomorrow.
Title: Re: Welcome to CodeCompletion redesign forum!
Post by: Michael on December 21, 2005, 01:48:37 pm
...I am going to try and get Elsa working (only on linux first)...

IMHO, it should be chosen a parser that compiles both in Windows and Linux and not just under one OS. I think this is important and should kept in mind since the beginning.

Michael
Title: Re: Welcome to CodeCompletion redesign forum!
Post by: TDragon on December 21, 2005, 04:29:00 pm
Just to let everyone know that I'm still around, silently working on this stuff too. Actually, you can forget that I'm here. Maybe I'll surprise everyone one of these days...
IMHO, it should be chosen a parser that compiles both in Windows and Linux and not just under one OS. I think this is important and should kept in mind since the beginning.
While that would be easier, the possibility does exist for adapting Unix-centric code to our purpose -- especially if the Unix-centric code provides more overall functionality.

I'm currently working with the C++ grammar for ANTLR, which is surprisingly well done. Further updates as results warrant.
Title: Re: Welcome to CodeCompletion redesign forum!
Post by: grv575 on December 21, 2005, 06:31:47 pm
TDragon: since you've looked at the antlr c++ stuff as well, could you tell me why it requires a custom hash dictionary for the variable scopes?  All the other antlr grammers just provide a .g sytax file and a .g tree walker file.  (E.g. java - so I don't see why c++ would need extra code besides the .g files to work...)
Title: Re: Welcome to CodeCompletion redesign forum!
Post by: TDragon on December 21, 2005, 08:29:50 pm
Mostly I think because it gave the author more control, but partially because C++ is contextual in so many ways that it was probably the best choice. Either way, it makes it easier for us to drop in yet another custom container if we need to :)
Title: Re: Welcome to CodeCompletion redesign forum!
Post by: Michael on December 21, 2005, 09:08:44 pm
While that would be easier, the possibility does exist for adapting Unix-centric code to our purpose -- especially if the Unix-centric code provides more overall functionality.

Yes, that is ok :). If the unix version provides more functionalities and could be adapted to Windows, then that could be a good choice.

Anyway, where I would like to put the accent is that it is important (to avoid problems/conflicts later) to chose from the beginning a parser that works or would work in both OSs.   

Michael