You folks are correct.. I'm not suggesting dropping the code model
machinery.

My goal is to simply get it working as is. Then take the next step..

It's definitely a lot of work but can probably be drastically improved
because of JEP-362 and JEP-381..

-brad w.



-brad w.

On Thu, Apr 30, 2020 at 1:50 AM Jan Lahoda <lah...@gmail.com> wrote:

>
>
> 30. dubna 2020 9:15:19 SELČ, Ivan Soleimanipour <
> ivan.soleimanip...@sbcglobal.net> napsal:
> >I don't think Brad was suggesting ditching the code model machinery
> >(C++ parsers).
>
> Right, I don't think he was suggesting that.
>
> But I guess what I am saying is: if we want to have C/C++ support in
> NetBeans, we need a group of developers working on that. So, as a
> mitigation plan, I sketched out cpplite, where the group of maintainers
> could be very small. If we can have full CND, that is even better, but are
> there enough contributors? What are your opinions on how to evolve the
> model for new versions of C++? Do we use the antlr parser, clank, or both?
> These are all questions I don't know answers to.
>
> As you can see below, I did also some work on CND - do you have
> improvements to that? Because in the current state, it cannot be released.
> I am willing to help, but I can only contribute a little, and this is a
> huge project.
>
> Jan
>
> >None of that, in general, is Studio specific.
> >
> >CND does have a plugin interface. It's best to illustrate it with
> >debuggers. There's a
> >debugger_common module and two plugins, a gdb debugger and a dbx
> >debugger.
> >The dbx debugger part was Oracle prorprietay so I don't think there's
> >anything to get rid of.
> >The other part which had to be customized was make (gnu-make vs
> >sun-make) and compiler
> >customizations. For example, to find out the list of predefined macros
> >CND has to invoke
> >each compiler with a slightly different magical incantation.
> >
> >So I think Brad was talking about getting rid of Studio-specific
> >customizations, not code
> >that was written by people (mostly StPetersburg folk) employed by
> >Oracle.
> >
> >Brads suggestion makes sense tho I don't think it's that much stuff and
> >getting rid of
> >it won't simplify things _that_ much.
> >More importantly, once you ditch Studio support CND will become a
> >plugin/customization infrastructure with only one plugin: GNU stuff.
> >And we all know what
> >happens in such circumstances. The generic part of the code ends up
> >getting polluted with
> >features to support it's only plugin.
> >
> >On 4/29/20 10:57 AM, Jan Lahoda wrote:
> >> To elaborate on the C/C++ support in NetBeans a little more: I think
> >we
> >> have two main directions which we can take: 1) take more or less the
> >full
> >> CND as donated, adjust to Apache standards and maintain; 2) attempt
> >to do
> >> something simpler (taking from CND what we need).
> >>
> >> Using the full CND has some advantages, like a much more
> >fully-featured
> >> support, having a model of the source code inside the IDE, which can
> >be
> >> used to implement any feature, etc. The disadvantages are that a) we
> >need
> >> to bring it up to Apache standards; b) we need to maintain it (I may
> >be
> >> wrong, but my understanding is that there are two C/C++ parsers
> >there: an
> >> ANTLR based one, and clank, which is clang converted to Java). This
> >would
> >> include, for example, adding support for new C++ versions.
> >>
> >> There is a very crude start of this in branch cnd-building in my
> >NetBeans
> >> repo:
> >> https://github.com/jlahoda/netbeans/tree/cnd-building
> >>
> >> There is a simple README available for it:
> >> https://github.com/jlahoda/netbeans/blob/cnd-building/README.cnd
> >>
> >> I guess that for this to work, we need some serious effort. At very
> >least,
> >> the readme lists a number of files that need to be added, to make
> >code
> >> buildable, and for each, we need to find out if we can use it,
> >provide a
> >> replacement, or drop it. Some might be reasonably simple, but I am
> >worried
> >> about things like CPPParserEx.java, CPPSymbol.java and cppparser.g -
> >these
> >> feel like difficult to replace; and possibly difficult to use the
> >original
> >> versions (as, presumably, these need to be updated when a new
> >language
> >> feature is added).
> >>
> >>
> >> Using something simpler could be to use a C/C++ Language Protocol
> >Server,
> >> like ccls (https://github.com/MaskRay/ccls). This would provide
> >features
> >> like code completion, without the need to maintain the code to
> >compute the
> >> proposals, etc. inside NetBeans. Then there is a need for (simple?)
> >> projects and (simple?) debugger. I tried to prototype it here:
> >> https://github.com/jlahoda/netbeans/tree/cpplite
> >>
> >> To use it, checkout the branch, and then build using:
> >> ant -Dcluster.config=cpplite
> >>
> >> Then do "ant tryme" to get the IDE. In New Project, there is
> >> C/C++/Lightweight C/C++ Project - it is primarily intended to open
> >existing
> >> projects in NetBeans. It allows to specify compile_commands.json (for
> >ccls)
> >> and build commands. Path to "ccls" needs to be specified in
> >Tools/Options
> >> (otherwise most editor features don't work).
> >>
> >> The advantage of this is that it should be fairly reasonable to
> >write; and
> >> hopefully easy to maintain for the long term. The disadvantage is
> >that some
> >> (many?) features from CND may be missing.
> >>
> >>
> >> I guess I'd like hear:
> >> a)  who is willing to help with either of these projects? Which you
> >prefer?
> >> b) any other ideas?
> >> c) if someone would be willing to try cpplite and say how much is
> >missing
> >> to make it useful, I'd be grateful. My primary personal reason to
> >look at
> >> C/C++ support is to allow developer of native sources from OpenJDK -
> >and I
> >> think/hope cpplite could evolve fairly easily into something useful
> >for
> >> this usecase.
> >>
> >> What do you think?
> >>
> >> Thanks,
> >>       Jan
> >>
> >> On Wed, Apr 29, 2020 at 1:20 AM Ernie Rael <err...@raelity.com>
> >wrote:
> >>
> >>> On 4/28/2020 3:58 PM, Brad Walker wrote:
> >>>> I'm starting to wade into helping get the C/C++ module up and
> >running on
> >>>> Apache Netbeans. As a result, I have quick project question for the
> >more
> >>>> "senior" folks on this group. Or anyone else who cares to comment.
> >8-)
> >>>>
> >>>> I would like to propose that we drop support for the SunStudio
> >tools
> >>> (i.e.
> >>>> compiler and debugger, etc.). The reason is because it makes
> >porting more
> >>>> difficult. In addition, it doesn't really make sense for a project
> >like
> >>>> Apache Netbeans to carry all this technical debt that it incurs for
> >which
> >>>> no one really is going to support.
> >>>>
> >>>> So what are the collective thoughts and opinions about dropping
> >SunStudio
> >>>> support in Apache Netbeans?
> >>>>
> >>>> The assumption here is that GDB and friends would continue to work
> >and be
> >>>> supported.
> >>>>
> >>>> -brad w.
> >>>>
> >>> There's this tantalizing message from Jan
> >>>
> >>>
> >>>
> >
> http://mail-archives.apache.org/mod_mbox/netbeans-dev/202004.mbox/%3CCALd%3D3dH2vqLx8rrP2yDh76%3DDVKsok-g0Qeaf9zpeaVG2aeALhA%40mail.gmail.com%3E
> >>>
> >>> which suggests
> >>>
> >>>      alternative idea is to use a Language Server Protocol (LSP)
> >server
> >>>
> >>> You might find that thread interesting...
> >>>
> >>> -ernie
> >>>
> >>>
> >>>
> >---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
> >>> For additional commands, e-mail: dev-h...@netbeans.apache.org
> >>>
> >>> For further information about the NetBeans mailing lists, visit:
> >>> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
> >>>
> >>>
> >>>
> >>>
> >>
>
> --
> Odesláno aplikací K-9 Mail ze systému Android. Omluvte prosím moji
> stručnost.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@netbeans.apache.org
> For additional commands, e-mail: dev-h...@netbeans.apache.org
>
> For further information about the NetBeans mailing lists, visit:
> https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
>
>
>
>

Reply via email to