From: Philip Kaludercic <philipk@posteo.net>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Eli Zaretskii <eliz@gnu.org>, Dmitry Gutov <dgutov@yandex.ru>,
theophilusx@gmail.com, emacs-devel@gnu.org
Subject: Re: Tree-sitter introduction documentation
Date: Tue, 27 Dec 2022 16:44:02 +0000 [thread overview]
Message-ID: <87wn6cyey5.fsf@posteo.net> (raw)
In-Reply-To: <jwv8ris7qub.fsf-monnier+emacs@gnu.org> (Stefan Monnier's message of "Tue, 27 Dec 2022 11:36:35 -0500")
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> It doesn't need any project, it is literally two command lines.
>> Here's an example:
>>
>> gcc -O2 -I. -c -o parser.o parser.c
>> gcc -shared parser.o scanner.o -ltree-sitter -o libtree-sitter-c-sharp.dll
>
> AFAIK `parser.c` is a file generated from the actual grammar's source,
> itself written in Javascript.
>
> So the above instructions are akin to downloading a precompiled binary
> and installing it. While it is the most convenient path for the
> end-users, it's important w.r.t Freedom to make sure that grammars can
> also be regenerated from source by the end users.
I have asked the question before, but freedom or not, the above is a
nuisance to run for every language. If the process is as automatic as
the above example demonstrates, shouldn't Emacs have a command to take a
grammar and compile+install it? I guess this could be more complicated
if the grammar is generated using a custom tool-chain for each language
(or is it always Javascript?), but nothing impossible.
What would be even better is if the grammars were to be distributed
along with Emacs (either in a tarball or as a dependency a package
manage would install).
next prev parent reply other threads:[~2022-12-27 16:44 UTC|newest]
Thread overview: 138+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-16 14:47 Tree-sitter introduction documentation Perry Smith
2022-12-16 15:06 ` Eli Zaretskii
2022-12-16 15:24 ` João Távora
2022-12-16 15:36 ` Perry Smith
2022-12-16 15:43 ` João Távora
2022-12-16 17:56 ` Philip Kaludercic
2022-12-16 15:38 ` Eli Zaretskii
2022-12-16 15:48 ` João Távora
2022-12-16 15:53 ` Perry Smith
2022-12-16 16:02 ` João Távora
2022-12-18 9:59 ` Eli Zaretskii
2022-12-18 14:07 ` Perry Smith
2022-12-18 17:18 ` Eli Zaretskii
2022-12-16 16:34 ` Eli Zaretskii
2022-12-17 0:03 ` Tim Cross
2022-12-17 8:42 ` Eli Zaretskii
2022-12-17 10:40 ` João Távora
2022-12-17 11:00 ` Eli Zaretskii
2022-12-18 0:40 ` Tim Cross
2022-12-16 16:01 ` Manuel Giraud
2022-12-16 16:40 ` Eli Zaretskii
2022-12-16 16:47 ` Perry Smith
2022-12-16 17:21 ` Eli Zaretskii
2022-12-16 15:53 ` Manuel Giraud
2022-12-16 15:56 ` João Távora
2022-12-16 16:39 ` Eli Zaretskii
2022-12-16 17:15 ` Manuel Giraud
2022-12-16 17:23 ` Eli Zaretskii
2022-12-16 20:22 ` Ken Brown
2022-12-17 4:06 ` Tim Cross
2022-12-17 15:42 ` Stefan Monnier
2022-12-17 17:41 ` T.V Raman
2022-12-26 22:42 ` Dmitry Gutov
2022-12-27 12:11 ` Eli Zaretskii
2022-12-27 12:43 ` Dmitry Gutov
2022-12-27 13:38 ` Eli Zaretskii
2022-12-27 14:11 ` Dmitry Gutov
2022-12-27 14:32 ` Eli Zaretskii
2022-12-27 16:36 ` Stefan Monnier
2022-12-27 16:44 ` Philip Kaludercic [this message]
2022-12-27 17:16 ` Eli Zaretskii
2022-12-27 17:20 ` Philip Kaludercic
2022-12-27 18:06 ` Eli Zaretskii
2022-12-27 17:33 ` Stefan Monnier
2022-12-30 11:06 ` Yuan Fu
2022-12-30 11:25 ` Philip Kaludercic
2022-12-30 11:54 ` tomas
2022-12-30 11:59 ` Philip Kaludercic
2022-12-30 12:27 ` tomas
2022-12-30 12:45 ` Philip Kaludercic
2022-12-30 14:26 ` Dmitry Gutov
2022-12-30 23:33 ` Yuan Fu
2022-12-30 15:31 ` Eli Zaretskii
2022-12-30 15:54 ` Philip Kaludercic
2022-12-30 16:17 ` Eli Zaretskii
2022-12-31 0:06 ` Yuan Fu
2022-12-31 0:12 ` Philip Kaludercic
2023-01-01 1:18 ` Yuan Fu
2023-01-02 19:10 ` [SPAM UNSURE] " Stephen Leake
2022-12-31 0:03 ` Yuan Fu
2022-12-31 0:25 ` Stefan Monnier
2023-01-01 1:16 ` Yuan Fu
2023-01-01 6:39 ` Eli Zaretskii
2023-01-02 0:31 ` Yuan Fu
2023-01-02 0:40 ` Stefan Monnier
2023-01-03 6:58 ` Yuan Fu
2023-01-02 3:34 ` Eli Zaretskii
2022-12-31 9:24 ` Eli Zaretskii
2022-12-31 22:14 ` Yuan Fu
2023-01-01 1:12 ` Yuan Fu
2022-12-31 0:44 ` Gregory Heytings
2023-01-03 4:08 ` Richard Stallman
2023-01-03 12:14 ` Eli Zaretskii
2023-01-01 3:03 ` Richard Stallman
2023-01-01 6:54 ` Eli Zaretskii
2023-01-01 19:14 ` Gregory Heytings
2023-01-01 20:11 ` Eli Zaretskii
2023-01-03 4:06 ` Richard Stallman
2023-01-03 12:06 ` Eli Zaretskii
2022-12-27 17:10 ` Eli Zaretskii
2022-12-27 17:31 ` Stefan Monnier
2022-12-27 18:08 ` Eli Zaretskii
2022-12-27 18:44 ` Stefan Monnier
2022-12-27 20:06 ` Philip Kaludercic
2022-12-27 21:13 ` Stefan Monnier
2022-12-28 2:52 ` Yuan Fu
2022-12-28 13:10 ` Gregory Heytings
2022-12-28 13:38 ` Lynn Winebarger
2022-12-28 14:41 ` Danny Freeman
2022-12-29 11:14 ` Philip Kaludercic
2022-12-29 15:27 ` Gregory Heytings
2022-12-29 15:40 ` Lynn Winebarger
2022-12-29 21:50 ` [SPAM UNSURE] " Stephen Leake
2022-12-29 22:37 ` Lynn Winebarger
2022-12-30 14:10 ` Lynn Winebarger
2022-12-30 16:25 ` Targeting libtreesitter from wisent and other parser generators for emacs Lynn Winebarger
2022-12-31 8:25 ` Eli Zaretskii
2022-12-31 13:07 ` Lynn Winebarger
2022-12-29 15:45 ` Tree-sitter introduction documentation Philip Kaludercic
2022-12-29 17:00 ` Gregory Heytings
2022-12-29 17:12 ` Philip Kaludercic
2022-12-29 17:31 ` Gregory Heytings
2022-12-29 18:12 ` Philip Kaludercic
2022-12-29 18:28 ` Eli Zaretskii
2022-12-29 18:44 ` Stefan Monnier
2022-12-29 19:34 ` Eli Zaretskii
2022-12-29 19:48 ` Stefan Monnier
2022-12-29 19:59 ` Eli Zaretskii
2022-12-29 18:32 ` Stefan Monnier
2022-12-29 16:32 ` Eli Zaretskii
2022-12-29 16:53 ` Philip Kaludercic
2022-12-29 16:59 ` Eli Zaretskii
2022-12-29 17:01 ` Philip Kaludercic
2022-12-29 17:03 ` Stefan Monnier
2022-12-29 17:12 ` Gregory Heytings
2022-12-29 17:13 ` Philip Kaludercic
2022-12-29 17:04 ` Gregory Heytings
2022-12-30 1:01 ` Gregory Heytings
2022-12-30 11:00 ` Philip Kaludercic
2022-12-30 12:07 ` Gregory Heytings
2022-12-30 13:10 ` Philip Kaludercic
2022-12-30 15:23 ` Gregory Heytings
2022-12-28 12:56 ` Gregory Heytings
2022-12-28 14:41 ` Stefan Monnier
2022-12-27 19:53 ` Dmitry Gutov
2023-01-01 3:03 ` Richard Stallman
2022-12-27 13:51 ` tomas
2022-12-27 15:58 ` Stefan Monnier
2022-12-16 17:23 ` Perry Smith
2022-12-16 17:31 ` Eli Zaretskii
2022-12-16 19:08 ` Perry Smith
2022-12-16 19:37 ` Eli Zaretskii
2022-12-16 20:05 ` Perry Smith
-- strict thread matches above, loose matches on Subject: below --
2022-12-17 4:50 Payas Relekar
2022-12-18 6:32 Pedro Andres Aranda Gutierrez
2022-12-18 8:07 ` Eli Zaretskii
2022-12-18 10:39 ` Pedro Andres Aranda Gutierrez
2022-12-18 11:44 ` Eli Zaretskii
2022-12-31 6:59 Pedro Andres Aranda Gutierrez
2022-12-31 7:47 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wn6cyey5.fsf@posteo.net \
--to=philipk@posteo.net \
--cc=dgutov@yandex.ru \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=theophilusx@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).