From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stephen Leake Newsgroups: gmane.emacs.devel Subject: Re: [SPAM UNSURE] Maybe we're taking a wrong approach towards tree-sitter Date: Thu, 29 Jul 2021 16:12:56 -0700 Message-ID: <86sfzwogsn.fsf@stephe-leake.org> References: <8735rzyzbz.fsf@163.com> <86v94v3xh9.fsf@stephe-leake.org> <87wnpargnb.fsf@elite.giraud> <87h7gey7zx.fsf@163.com> <83pmv2twrl.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9120"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (windows-nt) Cc: Andrei Kuznetsov , manuel@ledu-giraud.fr, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jul 30 01:19:08 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m9FIy-0002BH-8p for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Jul 2021 01:19:08 +0200 Original-Received: from localhost ([::1]:38068 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m9FIw-0007ef-Oi for ged-emacs-devel@m.gmane-mx.org; Thu, 29 Jul 2021 19:19:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:50646) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m9FI9-0006yc-Az for emacs-devel@gnu.org; Thu, 29 Jul 2021 19:18:17 -0400 Original-Received: from gateway33.websitewelcome.com ([192.185.145.24]:35590) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m9FI7-0008IA-93 for emacs-devel@gnu.org; Thu, 29 Jul 2021 19:18:16 -0400 Original-Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway33.websitewelcome.com (Postfix) with ESMTP id C2E95597B3 for ; Thu, 29 Jul 2021 18:13:03 -0500 (CDT) Original-Received: from host2007.hostmonster.com ([67.20.76.71]) by cmsmtp with SMTP id 9FD3mykgl7sOi9FD3mcChH; Thu, 29 Jul 2021 18:13:01 -0500 X-Authority-Reason: nr=8 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=stephe-leake.org; s=default; h=Content-Type:MIME-Version:Message-ID: In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ZgmcvgysJpDd6qpOjlhg+sEuvrNOzYr7Ra7Dw0Aa6i8=; b=MwlwoyZ/Bqccld/be5MfxSkiHL aDhnsESdspKAm/lYd9sVnbUPkqq7pOFBH6+hLHPsGzHK2y+7OUgeIDr8Wtl1CjHzILxZIaorNEbxk NT3MyoO3GpGAQjq4cAVRVWSC6an4t5ceQhN8YMoKc4UzyCZLpUPPWOtpccnZoEfNZES4lgJO/yswf KXVTBOng8+mvN7i4VLqQXW3RSxziOuGClRIUv9D8aE4/Gq6BpwHilJYjshEuv/RSTrUZStzKYkwK8 hrmi9r5TDnQRlG4AwyofIxYIQKkisUrlowxtgeXKp/BXIgiDcOaU7m6WK6GQd2iEJw3bi4wedQY+h NDI40Fug==; Original-Received: from [76.77.182.20] (port=50595 helo=Takver4) by host2007.hostmonster.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1m9FD3-0004Ix-2c; Thu, 29 Jul 2021 17:13:01 -0600 In-Reply-To: <83pmv2twrl.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 28 Jul 2021 16:04:30 +0300") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - host2007.hostmonster.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - stephe-leake.org X-BWhitelist: no X-Source-IP: 76.77.182.20 X-Source-L: No X-Exim-ID: 1m9FD3-0004Ix-2c X-Source-Sender: (Takver4) [76.77.182.20]:50595 X-Source-Auth: stephen_leake@stephe-leake.org X-Email-Count: 14 X-Source-Cap: c3RlcGhlbGU7c3RlcGhlbGU7aG9zdDIwMDcuaG9zdG1vbnN0ZXIuY29t X-Local-Domain: yes Received-SPF: permerror client-ip=192.185.145.24; envelope-from=stephen_leake@stephe-leake.org; helo=gateway33.websitewelcome.com X-Spam_score_int: -8 X-Spam_score: -0.9 X-Spam_bar: / X-Spam_report: (-0.9 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_NEUTRAL=0.779 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:271806 Archived-At: Eli Zaretskii writes: >> From: Andrei Kuznetsov >> Date: Wed, 28 Jul 2021 19:48:18 +0800 >> Cc: Stephen Leake , emacs-devel@gnu.org >> >> Manuel Giraud writes: >> >> > I too did not follow the tree-sitter discussion closely. But AFAIU, >> > tree-sitter provides tools to generate a parser (in C) from a grammar. >> >> If that is the case, it certainly seems grave! I don't think an Emacs >> that requires source modifications for extending vital editing >> functionality is a good idea. > > TS's code is written in plain C, and doesn't require any regeneration > or source modifications. Anything else is misunderstanding. That's true for the common TS runtime, which implements the parser and error recovery, but the code for each language, that builds the LR parse table and some other data structures, is generated in C from a grammar file written in javascript, and must be linked into Emacs somehow. In addition, some languages require an "external scanner", which is more code in C that is specific to the language. Ideally, there would be some sort of plugin, so new languages could be added at run-time; maybe we could add a protocol on top of emacs modules. I don't know how Yuan is handling this now. -- -- Stephe