Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

(Minor) improvement of CodeCompletion?

<< < (4/5) > >>

takeshimiya:
I researched the other day for heavy full real open source C++ parsers and found more or less this:

Synopsis
Developed for the Synopsis autodoc generation app.

Elsa
Elsa can parse most C++ "in the wild". It has been tested with some notable large programs, including Mozilla, Qt, ACE, and itself.

ANTLR C++/CodeStore
Modified a little this open-source multi-platform IDE: VCFBuilder.
ANTLR is one of the most popular and well know parser generators out there.

Assist++
Developed for this another open-source cross-platform IDE: Ultimate++.


And these C/C++ pre-processor parsers:
ucpp
Wave


All of the parsers mentioned uses Abstact Syntax Trees.
The best ones seems to be ANTLR and Elsa.

Ctags is not a C++ parser, and doesn't have the same functionality, so it would belong to another plugin.

anonuser:
Gotcha, but nice work, now do you know how hard it would be to make a plugin that would take advantage of those engines?

takeshimiya:
I don't think it would be really hard, all those parsers are written in good C++.
I compiled ANTLR (CodeStore) importing a MSVC workspace in C::B and it compiled almost out-of-the-box. Didn't tried the others yet.

I would like to know what do you guys think about what's best path:
-Modify the actual CodeCompletion plugin to use one of these parsers.
-Try to improve the current C::B parser.
-Create a new CodeCompletion plugin for one of these parsers, thus having two CodeCompletion plugins in the meantime.

anonuser:
I'd think rip out the current code completion plugin and rewrite using one of thses parsers.
Add in some cool features like
argument highlighting.

A major improvment would to make sure the the popup for code completion has no window border.

Pressing tab to complete would also rock.

MortenMacFly:

--- Quote from: anonuser on November 19, 2005, 03:07:47 am ---Pressing tab to complete would also rock.

--- End quote ---
Try CTRL+Space!

Morten.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version