From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Achim Gratz Newsgroups: gmane.emacs.devel Subject: Re: Emacs contributions, C and Lisp Date: Sun, 11 Jan 2015 21:06:40 +0100 Organization: Linux Private Site Message-ID: <87d26lw08f.fsf@Rainer.invalid> References: <83bnxuzyl4.fsf@gnu.org> <87sir336qn.fsf@fencepost.gnu.org> <20140301215057.GA19461@thyrsus.com> <87fvn1y0vx.fsf@fencepost.gnu.org> <87fvn0senq.fsf@uwakimon.sk.tsukuba.ac.jp> <8761nusb90.fsf@uwakimon.sk.tsukuba.ac.jp> <87vbkovhh7.fsf@engster.org> <87387rvobr.fsf@engster.org> <87y4p9885b.fsf@fx.delysid.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1421006843 1234 80.91.229.3 (11 Jan 2015 20:07:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 11 Jan 2015 20:07:23 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 11 21:07:15 2015 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 1YAOn5-0004eH-CF for ged-emacs-devel@m.gmane.org; Sun, 11 Jan 2015 21:07:15 +0100 Original-Received: from localhost ([::1]:59231 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YAOn4-0006Nr-Gk for ged-emacs-devel@m.gmane.org; Sun, 11 Jan 2015 15:07:14 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36219) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YAOmp-0006Nk-Oi for emacs-devel@gnu.org; Sun, 11 Jan 2015 15:07:00 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YAOml-0008JO-O5 for emacs-devel@gnu.org; Sun, 11 Jan 2015 15:06:59 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:58654) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YAOml-0008JJ-Gw for emacs-devel@gnu.org; Sun, 11 Jan 2015 15:06:55 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1YAOmg-0004Ub-Ey for emacs-devel@gnu.org; Sun, 11 Jan 2015 21:06:50 +0100 Original-Received: from p4ff1d697.dip0.t-ipconnect.de ([79.241.214.151]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 Jan 2015 21:06:50 +0100 Original-Received: from Stromeko by p4ff1d697.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 Jan 2015 21:06:50 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 44 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: p4ff1d697.dip0.t-ipconnect.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) Cancel-Lock: sha1:wRQKw0I/tetOmbetdE2Qrq8hQbU= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:181159 Archived-At: Mario Lang writes: > While I also think this attempt to cage data is rather absurd, I think > there is likely another misunderstanding. What Clang currently seems to > do for editor integration seems to match Richard's vision. That may be the case, but the contention RMS is having revolves around the ability to use this facility to make a non-free backend (or at least that's my understanding of it). An overt dump of the AST is ostensibly not necessary to cross that threshold. > While they have functionality to dump the full AST, clang-format, > clang-query, clang-rename and the completion interface don't expose a full AST at > all. The idea behind the Clang tools is that they parse the translation > units on their own, and do manipulations on the data internally. You > pass parameters to these tools, like a position in a file you want to > see completions for, or a range of locations to reformat, or a matcher > expression to search for particular AST constructs. […] Looking at the documentation, the base for those tools is essentially a graph execution engine working on the AST and it could very well be used to produce a code generator (or backend) if that hasn't been done already. > If GNU were to match this, the work would go into tools based on GCC. > The Emacs integration should be rather simple, since we are basically > just calling a few external commands to have all the work done. The plugin interface to GCC already exists and is apparently capable enough to allow the implementation of a full AST dump. In fact it seems that is already implemented in GCC MELT and other GCC plugins certainly also have the depth to do this. One step further, DragonEgg specifically implements a backend (using LLVM tools) that uses GCC as a front end only, so I guess the only open question is whether or not that back-end is free or non-free. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Blofeld: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds