From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ramneek Newsgroups: gmane.emacs.devel Subject: Re: clang/emacs/ecb/semantic Date: Fri, 30 Nov 2012 23:25:39 +0800 Message-ID: References: <20940A983D814C6192ABFF2B7A269A88@gmail.com> <87wqx42nag.fsf@yandex.ru> <87ehjcrw70.fsf@engster.org> <87hao816w4.fsf@wanadoo.es> <87hao7ioos.fsf@kuiper.lan.informatimago.com> <87y5hjqfzi.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="50b8cff3_7fbd7a3e_5599" X-Trace: ger.gmane.org 1354289160 18389 80.91.229.3 (30 Nov 2012 15:26:00 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 30 Nov 2012 15:26:00 +0000 (UTC) To: "Pascal J. Bourguignon" , emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 30 16:26:13 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1TeSTj-0008Bw-SO for ged-emacs-devel@m.gmane.org; Fri, 30 Nov 2012 16:26:12 +0100 Original-Received: from localhost ([::1]:45323 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSTY-0007Az-Fz for ged-emacs-devel@m.gmane.org; Fri, 30 Nov 2012 10:26:00 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:52115) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSTQ-0007AN-Hr for emacs-devel@gnu.org; Fri, 30 Nov 2012 10:25:58 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TeSTL-0004uv-L2 for emacs-devel@gnu.org; Fri, 30 Nov 2012 10:25:52 -0500 Original-Received: from mail-da0-f41.google.com ([209.85.210.41]:56964) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSTL-0004u1-8G for emacs-devel@gnu.org; Fri, 30 Nov 2012 10:25:47 -0500 Original-Received: by mail-da0-f41.google.com with SMTP id e20so265561dak.0 for ; Fri, 30 Nov 2012 07:25:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:message-id:in-reply-to:references:subject:x-mailer :mime-version:content-type; bh=SnZdguxmI8Db3c6u4RsLX2wj38lrxzXiarq5b2ENFEE=; b=qtX8enC3rPHd8NEI/1ai+OkEuklBeoH4D+16s3MNtmCt9Sr4epn/3yR2LBggI8riVS MkvSVSe8dccdHteAxkj4JQqrXEH1zkk3eKIKfKXOoRV0+SlAtWMd5sARJTeLFvgg8r8b /JtBntgEGCDwpkbfsZdGcrU29d4K79aqtZ9UsNxLtYEh+zs7G+vn1/3mmhb6H4NBd27a /9S981cBA0ZjxOJjUDfBT8EqVHLjNAzAggNcSJJHlKknpnJOZQDxsdmp5KmLpvP8ROJd 43cPejUelGZQl+D13IAGKfo+scphlsGwYDnUeArk7S2fFno8KflOQba5EimQsKN+EEGx 3/Ug== Original-Received: by 10.68.251.130 with SMTP id zk2mr6593654pbc.19.1354289145314; Fri, 30 Nov 2012 07:25:45 -0800 (PST) Original-Received: from [192.168.1.105] (cm185.gamma99.maxonline.com.sg. [202.156.99.185]) by mx.google.com with ESMTPS id ju7sm3183548pbb.60.2012.11.30.07.25.42 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 30 Nov 2012 07:25:44 -0800 (PST) In-Reply-To: <87y5hjqfzi.fsf@engster.org> X-Mailer: sparrow 1.6.4 (build 1178) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 209.85.210.41 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:155147 Archived-At: --50b8cff3_7fbd7a3e_5599 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline I haven't looked at gcc plugin interface much but i have picked up clang's lib tooling interface pretty quickly and want to make my experience with emacs better. I looked at rtags project mentioned in this mail chain and think it looks good however it failed a bit for me and doesn't provide all that i need. (i do intend to write to the author). I have started some work on creating mini apps which will output in json format which i plan to write elisp extensions for. Since i have limited time in hands i would appreciate if someone facing similar issues can join forces and we can get it done. Basic requirements i have are: 1. fast semantic completions 2. jump to declaration and definition 3. provide a help window for if there are comments on the function under the cursor all of the above are doable by clang and more (i was told that gcc sat doesn't contain the comments info, i am not sure how true that is). I want to make it simple on the first cut and see how it looks and then proceed further.. So anyone? Regards, Ramneek On Friday, 30 November, 2012 at 11:15 PM, David Engster wrote: > Pascal J. Bourguignon writes: > > Llvm and clang provide natively a way to get the parse tree (and other > > phases information), and therefore they can be used easily in IDE. > > http://clang.llvm.org/features.html#applications > > > > > Since v4.5.0 GCC does that, too, via its plugin interface: > > http://gcc.gnu.org/wiki/plugins > > I'm not really qualified to compare it to libclang and libtooling, but > at least from what I saw, it's not as well documented and probably > requires some knowledge of gcc's internals to be really usable. > > However, the existing python plugin looks very interesting, since it > seems to nicely wrap gcc's tree data structure: > > https://gcc-python-plugin.readthedocs.org/en/latest/tree.html > > The real task is to condense this structure to something simpler, which > is usable by tools like Semantic. > > -David --50b8cff3_7fbd7a3e_5599 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
I haven't looked at gcc plugin interface much but i h= ave picked up clang's lib tooling interface pretty quickly and want to ma= ke my experience with emacs better.
I looked at rtags project mentioned in this ma= il chain and think it looks good however it failed a bit for me and doesn= 't provide all that i need. (i do intend to write to the author).

I have started some work on creating mini apps which wi= ll output in json format which i plan to write elisp extensions for.
Since i have limited time in hands i would appreciate if someone fa= cing similar issues can join forces and we can get it done.

Basic requirements i have are:
1. fast semantic completions
2. jump to declaration an= d definition 
3. provide a help window for if there are co= mments on the function under the cursor

all of t= he above are doable by clang and more (i was told that gcc sat doesn't co= ntain the comments info, i am not sure how true that is).

<= /div>
I want to make it simple on the first cut and see how it looks = and then proceed further..

So anyone=3F

Regards,
Ramneek
=20

On =46riday, 30 Novemb= er, 2012 at 11:15 PM, David Engster wrote:

Pascal J. Bourguignon writes:
Llvm and clang provide nativel= y a way to get the parse tree (and other
phases information), a= nd therefore they can be used easily in IDE.

Since v4.5.0 GCC does that, too, via its plugin interface:

I'm not really qualified= to compare it to libclang and libtooling, but
at least from wh= at I saw, it's not as well documented and probably
requires som= e knowledge of gcc's internals to be really usable.

<= div>However, the existing python plugin looks very interesting, since it<= /div>
seems to nicely wrap gcc's tree data structure:

<= /div>

The real task is to condense this struct= ure to something simpler, which
is usable by tools like Semanti= c.

-David
=20 =20 =20 =20
=20

--50b8cff3_7fbd7a3e_5599--