> On Apr 3, 2019, at 3:12 AM, João Paulo Silva de Souza <
joao.paulo...@hotmail.com> wrote:
>
> What exactly are those effects that could pose issues?
> Nested macro blocks inside of another macro?
> Ambiguous syntax due to macro usage?
Sorry, but if I had had a real effect to suggest, I would have done so.
I simply wondered about whether Tree-Sitter's general approach is able
to handle all the syntax variations that defining macros might cause.
> IMO Tree-Sitter will be at least as correct as current RegExp syntaxes,
> while being faster, with the upside of potentially turning out much better.
Point taken. BBEdit has something called a Codeless Language Module (CLM):
https://www.barebones.com/support/develop/clm.html
Basically, this is a data structure containing regular expressions.
Using this, BBEdit can handle the recognition needs for some languages.
However, Ruby is one of the languages which cannot use a CLM. AFAICT,
this is because of irregularities in its syntax. Because Elixir's
syntax is similar to Ruby's, it may have similar irregularities. On
the other hand, José was pretty careful in designing Elixir's syntax,
so he may have avoided these sorts of issues. I simply don't know...
In any event, there doesn't seem to be any compelling reason for the
Elixir core to get involved with this. However, if a group of Elixir
users is interested, they coould certainly get started on a grammar.
-r