From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Engster Newsgroups: gmane.emacs.devel Subject: Re: clang/emacs/ecb/semantic Date: Fri, 30 Nov 2012 16:15:29 +0100 Message-ID: <87y5hjqfzi.fsf@engster.org> References: <20940A983D814C6192ABFF2B7A269A88@gmail.com> <87wqx42nag.fsf@yandex.ru> <87ehjcrw70.fsf@engster.org> <87hao816w4.fsf@wanadoo.es> <87hao7ioos.fsf@kuiper.lan.informatimago.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1354288557 11968 80.91.229.3 (30 Nov 2012 15:15:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 30 Nov 2012 15:15:57 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Pascal J. Bourguignon" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Nov 30 16:16:06 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 1TeSJv-0004KL-JI for ged-emacs-devel@m.gmane.org; Fri, 30 Nov 2012 16:16:03 +0100 Original-Received: from localhost ([::1]:42283 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSJk-0004hp-6m for ged-emacs-devel@m.gmane.org; Fri, 30 Nov 2012 10:15:52 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:49575) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSJe-0004hK-3t for emacs-devel@gnu.org; Fri, 30 Nov 2012 10:15:50 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TeSJX-0001FH-U3 for emacs-devel@gnu.org; Fri, 30 Nov 2012 10:15:45 -0500 Original-Received: from randomsample.de ([83.169.19.17]:37218) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TeSJX-0001Ec-96 for emacs-devel@gnu.org; Fri, 30 Nov 2012 10:15:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=randomsample.de; s=a; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From; bh=lMwZy9JtlXll4a2ljFkUd5Wua6Z0dIl8kbXHegZbsjw=; b=GXuPlzz+LCwLnYSNk5r+SrJ8PxWk8iciFV35ed5lsZbEpbXQuGXmP+8tFPW4hlnm9WJnFK8+8hY3HTn159jUXAZszzkSuPwhG8EhBTWqkPnUDoywJyT0L0vMJLAe7SkH; Original-Received: from dslc-082-083-048-103.pools.arcor-ip.net ([82.83.48.103] helo=spaten) by randomsample.de with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1TeSJP-0005fy-UV; Fri, 30 Nov 2012 16:15:32 +0100 In-Reply-To: <87hao7ioos.fsf@kuiper.lan.informatimago.com> (Pascal J. Bourguignon's message of "Fri, 30 Nov 2012 07:34:43 +0100") User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.50 (gnu/linux) Mail-Followup-To: "Pascal J. Bourguignon" , emacs-devel@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 83.169.19.17 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:155146 Archived-At: 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