Open Helvinion opened 7 years ago
Sorry for too late reply.
The modified CDT (cdt-pub) is necessary for the execution and development of cdt-proc. The binary file is located at https://github.com/buntatsu/cdt-proc/releases. (cdt_9_0_pub-1.0.zip,cdt_9_1_pub-1.0.zip,cdt_9_2_pub-1.0.zip) The source can be found at https://github.com/buntatsu/cdt.
In order to make cdt-proc compatible with C++, you should create a new ProCPPSourceParser class that inherits GNUCPPSourceParser and link it to .pcc or .pcpp. I think there are other things to do.
Is it an answer?
Hello back ! I have been working on other stuff these times, but I am back on this issue.
I did as you said, but indeed I have problems with GNUCPPSourceParser : the attribute nodeFactory it uses is private. I saw that you have been using a custom version of the CDT in order to compile the cdt_proc plugin, where I think you set this attribute (in GNUCSourceParser only) to protected visibility.
What should I do in order to change the visibility of the nodeFactory inside GNUCPPSourceParser ? I mean, I am a C/C++/ASM developer, not a java pro. I guess I should clone your version of the CDT, change what I want, then recompile it and change the old org.eclipse.cdt.core.source_5.11.0.201602051005.jar / org.eclipse.cdt.core_5.11.0.201602051005.jar files to the new ones. But what changes should I do (is setting this attribute to protected enough ?), furthermore, from which commit of your version of the CDT should I work ?
PS (I'm a working on the CDT 8.8.1, proc 3.3.0, on a MARS 2 eclipse instance)
Thank you very much ^^
I vote for this functionality into the official version.
Hello,
I just installed this plugin on my eclipse CDT IDE, and it works fine. However, I am trying to combine C++ files and ProC statements, and I have problems with the ProC parser. If I call my file toto.cpp, the C++ parser is used and every ProC statement is considered as an error by eclipse. If I call it toto.pc, the ProC parser recognize every ProC statement, but I get a huge number of errors about my C++ statements. I think that's because the ProC parser derivates from the C parser, or am I wrong ?
I tried to call my file toto.pcc or toto.pcpp, and to configure these extensions as both C++ and Pro*C files in eclipse but I get the same result as before.
I also tried to clone this repo and to modify this plugin myself, but I still get a lot of errors. For example, ProCLexer extends Lexer, but eclipse keeps explaining me that Lexer is final and that I can't extend it. I guess I have a too new version of the CDT files, but even with eclipse Galileo and CDT 6.0 that are almost 8 years old, I get the same error.
I tried to copy some of the CDT files in the project and to modify them manually, but it was a failure as some overridden functions did not even exist in the mother class.
I even tried to manually modify the java bytecode in the compiled jar files to modify ProCBinding.java and ProCLanguage.java and replace C_LINKAGE_ID and C_LINKAGE by CPP_LINKAGE_ID and CPP_LINKAGE, but I could not see any change when I put them in my eclipse.
I am out of solution. Could you help me and tell me what I should do to have my Pro*C++ files parsed correctly ?
Thanks