Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development
Refactoring tool?
phlox81:
--- Quote from: Takeshi Miya on September 12, 2006, 08:38:37 pm ---
ddiego has modified ANTLR a little for easier usage in CodeCompletion, along with ucpp, ctags and sqlite, see here: http://vcfbuilder.org/?q=node/139
and he's making it a standard library for using in any IDE. The repository is here: https://svn.sourceforge.net/svnroot/classdom
Of course a hybrid solution is possible (combining ctags & antlr), like what ddiego is doing with "ClassDOM".
The problem with ClassDOM is that its a pure iso c/c++ library, so no wxWidgets facilities.
--- End quote ---
I personally think that you don't need wxWidgets at all for parsing. So for me, ClassDOM is interesting because
it does it all in iso c/c++, so you have no dependencies to wxWidgets.
Maybe some should write a wrapper to make it easier to access from wxWidgets.
I personally write currently some sort of my own parser for C++ with boost::spirit, but only for testing,
and currently I only need to validate methodheads. Still a challenge :D
phlox
takeshimiya:
--- Quote from: phlox81 on September 14, 2006, 08:28:06 am ---
--- Quote from: Takeshi Miya on September 12, 2006, 08:38:37 pm ---
ddiego has modified ANTLR a little for easier usage in CodeCompletion, along with ucpp, ctags and sqlite, see here: http://vcfbuilder.org/?q=node/139
and he's making it a standard library for using in any IDE. The repository is here: https://svn.sourceforge.net/svnroot/classdom
Of course a hybrid solution is possible (combining ctags & antlr), like what ddiego is doing with "ClassDOM".
The problem with ClassDOM is that its a pure iso c/c++ library, so no wxWidgets facilities.
--- End quote ---
I personally think that you don't need wxWidgets at all for parsing.
--- End quote ---
Not for parsing, but for the GUI and crossplatform bits...
The parsers itself (ctags and flex) doesn't even requieres a c++ compilers, since it's plain c.
Neither for sqlite3, it's plain c too. I hope you don't wonder why wxSQlite3 exists. :wink:
--- Quote from: phlox81 on September 14, 2006, 08:28:06 am ---Maybe some should write a wrapper to make it easier to access from wxWidgets.
--- End quote ---
And that' is what is CodeLite for, it wraps everything in one library and gives you the parsed tree and GUI chores, for example as a derived wxTreeCtrl with all the symbols, or call tips strings for feeding your wxScintilla (or whatever) component.
phlox81:
--- Quote from: Takeshi Miya on September 14, 2006, 10:17:49 am ---
--- Quote from: phlox81 on September 14, 2006, 08:28:06 am ---I personally think that you don't need wxWidgets at all for parsing.
--- End quote ---
Not for parsing, but for the GUI and crossplatform bits...
The parsers itself (ctags and flex) doesn't even requieres a c++ compilers, since it's plain c.
Neither for sqlite3, it's plain c too. I hope you don't wonder why wxSQlite3 exists. :wink:
--- End quote ---
crossplattform isn't only wxWidgets. Actually, for everything else then GUI you can use other libraries, with
a more modern C++ Design, boost is here a nice candidate, since its gonna be part of the next standard. (threads, sockets, filesystem f.e.)
--- Quote from: Takeshi Miya on September 14, 2006, 10:17:49 am ---
--- Quote from: phlox81 on September 14, 2006, 08:28:06 am ---Maybe some should write a wrapper to make it easier to access from wxWidgets.
--- End quote ---
And that' is what is CodeLite for, it wraps everything in one library and gives you the parsed tree and GUI chores, for example as a derived wxTreeCtrl with all the symbols, or call tips strings for feeding your wxScintilla (or whatever) component.
--- End quote ---
I've taken a look at it. Looks pretty nice :)
But why isn't there a namespace for the lib?
And what license does it have?
eranif:
--- Quote ---But why isn't there a namespace for the lib?
--- End quote ---
I think I will add namespace, since I am using some very common names such as "Tree" doh :D
--- Quote ---And what license does it have?
--- End quote ---
The license will be wxWindows, once it is completed, I will add license to the header files.
--- Quote ---I personally think that you don't need wxWidgets at all for parsing.
--- End quote ---
CodeLite is more than pure C++ parser library, it provides many other facilities, which aimed for wxWidgets applications, such as:
- Unicode supported
- It provides you with the GUI tree, including updating it in run time, anyone who wrote such tree, knows that it is a tedious task to write one.
- Parser thread that runs in the background and updates the tree
- It uses wxWdigets event system to notify about changes
- Keeping the database up-to-date
Today, I am going to start on adding new features, that extends it beyond the standard CodeCompletion:
- Comment tips
- Basic refactoring:
+ extract method
+ move implementation to cpp file
+ create declration from implementation
The ideas for this I took from VisualAssist (thanks to Takeshi for the tip)
I will also provide my own custom AutoComplete popup box (it will be configurable, I am not happy with scintilla's one, it is very basic)
Eran
blockn102:
Netbeans C/C++ has a good feature
http://img112.imageshack.us/my.php?image=netbeanscod3.png
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version