Good day. A few years ago, I chose an IDE to develop a plug-in support for an untyped PL, written in C, which has its own compiler. The result was a choice between Eclipse and NetBeans. I tried to analyze large projects in C. Where the first one fell, the second showed good results. The choice fell on NetBeans. I also tried writing projects using JNI. The tools for analyzing, reorganizing, and navigating through NetBeans are good. The IDE itself is written in JAVA, which I will still have to master and researching the internals of NetBeans will help me with this.
So, I joined the NetBeans comunity.
As it turned out, the newcomer to the topic of parsing and analyzing source codes is not easy to figure out where to start. After spending some time, I realize that I am still at the very beginning of my journey.
The first thing I saw was that the main committers of NetBeans were Russian jobs (those in / out) in Oracle. I tried to sign up with one of them. But of course, they are busy people, and I received from him only links to the page “How to create support for a new language” and the developers forum. In all that is there to find the necessary difficult.
')
The first useful page was
DevFaqSourceTreeModuleDescriptions .
NetBeans modular application. This means that it consists of parts that are detected at run time. Some of these parts can even be downloaded and installed or deleted at run time.
The module is a library. This is a Java JAR file (Java ARchive) that contains some classes.
NetBeans has a very small runtime kernel that knows how to find the modules that make up an application (the launcher goes through a list of directories - usually called clusters, which contain modular JAR files and some XML metadata about them).
Since the language supports C-inserts and the functions for it can be written in C, I need to study a subset of cnd modules, which enables the development of C and C ++ programs.
The second useful resource was
nabble.com .
Further began to be necessary links:
NetBeans C / C ++ Language Model API
»
C / C ++ Pack, Language Model and C / C ++ Navigator Tutorial
I’ll stop on this for now.