From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.6 Path: eternal-september.org!reader02.eternal-september.org!news.uzoreto.com!aioe.org!9CzwYWWlKVx8RMZd/VcwFg.user.46.165.242.75.POSTED!not-for-mail From: Stephen Leake Newsgroups: comp.lang.ada Subject: Re: Emacs mode: using tree-sitter Date: Mon, 30 Aug 2021 17:37:58 -0700 Organization: Aioe.org NNTP Server Message-ID: <868s0i30ux.fsf@stephe-leake.org> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: gioia.aioe.org; logging-data="65113"; posting-host="9CzwYWWlKVx8RMZd/VcwFg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (windows-nt) X-Notice: Filtered by postfilter v. 0.9.2 Cancel-Lock: sha1:zSb3UCx7nsOfWJa7/3+beK2K0WA= Xref: reader02.eternal-september.org comp.lang.ada:62589 List-Id: Emmanuel Briot writes: > I was looking recently at both Emacs and vim recent updates, and noted > that both those tools now provide interfaces to tree-sitter > (https://tree-sitter.github.io/tree-sitter/) which is a parser > generator and incremental parsing library. It doesn't have an Ada > parser yet, though :-( And it won't until the parser generator gets a serious overhaul: https://github.com/tree-sitter/tree-sitter/issues/693 > It might be nice, as a community, to work on such a parser though. I > did not look into what that implies yet, maybe someone else has > already started work on that. Yes, me. There is code in wisitoken devel that converts any wisitoken grammar to tree-sitter syntax. I find EBNF much more readable than the javascript DSL tree-sitter uses. > The advantage might be that the Emacs ada-mode can use that instead of > its home-brewed parser (which although I am sure it was fun to develop > still likely requires some maintenance by Stephen, and definitely > requires manually compiling some Ada code before we can use the > ada-mode). Someone would have to maintain the tree-sitter parser; it's not magic. And you'd have to compile the tree-sitter parser as well. Again, not magic. > We could also use it to improve the current vim ada-mode, which hasn't > been updated in years and could do with various improvements. It might be easier to adapt the Emacs ada-mode code to meet the vim plugin interface. Or adapt Emacs ada-mode code to LSP, that would benefit many editors. > Finally, maybe we could talk with the GNAT Studio team. I don't think > they have looked into tree-sitter yet, but it might be useful. They provide an LSP ada-language-server: https://github.com/AdaCore/ada_language_server It is not as feature rich as the ada-mode parser. I doubt they have the resources for anything more (unless the request comes with money, of course). -- -- Stephe