Developer forums (C::B DEVELOPMENT STRICTLY!) > Compiler Framework Redesign
Compiler framework redesign (?)
takeshimiya:
XML will be great for the Compiler plugin, but what for example the CodeCompletion, where suppose I want to write different parsers to each language, while sharing some common things. How that can be done with the Plugins architecture?
I'm asking because I would like to know myself how to do that on the C++ side.
Plugins (C++, Java, PHP) for a plugin (CodeCompletion) is the right way?
Or only one big plugin (CodeCompletion) where each language parser would be derived from the CodeCompletion commonality?
I know really nothing about plugin frameworks in C++, so that's why I want to know :D
thomas:
--- Quote from: Takeshi Miya on January 02, 2006, 10:49:22 am ---XML will be great for the Compiler plugin, but what for example the CodeCompletion, where suppose I want to write different parsers to each language, while sharing some common things.
--- End quote ---
You're very welcome to contribute to a universally pluggable code completion plugin. Talk to Rick though, he is working on the present implementation, so you don't step on each other's feet.
--- Quote ---I know really nothing about plugin frameworks in C++
--- End quote ---
A plugin is a DLL which exports at least one known symbol, for example GetPluginFunction(). That is the whole magic.
The Code::Blocks plugins export a little more than one symbol, but that's not important. You don't need to know, since you will just derive from cbPlugin which does that stuff automatically.
tiwag:
which thread should be used for discussions regarding the user-interface ?
i'm thinking of showing inherited settings ( maybe as greyed options ) from global-compiler or project-settings when editing the targets-settings.
280Z28:
Several of the "most important" things I mentioned will probably be solved by these new descriptor files anyway. (my #2, 3, 4, and 6 from the other thread)
rickg22:
--- Quote from: mandrav on January 02, 2006, 09:17:56 am ---What needs to change, is the sdk/compiler*.* files. This is the compiler framework I'm referring to.
If we change the Compiler class to read/write XML configuration files, we will already have made the first step to easy customization and get rid of plugins/compilergcc/compiler*.* files (compilers implementations). This means that to add a new compiler in C::B, all one has to do is write one new XML file. We have to decide the format of this file, that is the crucial part.
--- End quote ---
Alright! That's a good idea. Just a question - what happens if we want to implement in a target/project different flags for different compilers?
i.e. having "global options" (apply to all compilers) and "compiler-specific options" (apply for only one compiler, i.e. MSVC) for each project/target. Is this possible with the current compileroptionsbase, compiletargetbase, etc?
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version