techee left a comment (geany/geany#3034)

> @techee do you know what is the status here? Is it acceptable after fixing 
> the conflicts, or the performances issues and complexity is too high? I can 
> dive in as well, but I'd rather trust you if you have an opinion 😊

Well, for me the problems are still the same (related to all PEG parsers):
1. We can't easily check whether there's some infinite loop in the grammar 
definition (happened for TOML upstream in 
https://github.com/universal-ctags/ctags/issues/4096) 
2. or if it leads to some heavy back-tracking making performance unusable for 
some specific syntax (for normal recursive descent parsers we kind of know the 
performance characteristics which should be more or less linear, for PEG it can 
differ based on what rules are being used for parsing a certain source code)
3. It is hard to detect where the problem is exactly in the grammar when we 
e.g. get a bug report from users that e.g. there is some performance problem. 
Will we be able to fix such issues?

In particular, the performance of the kotlin parser is really bad for some 
files on low-end machines (see 
https://github.com/geany/geany/pull/3034#issuecomment-991862837). Maybe it is 
fixable by changing the grammar but which way should we modify it? I don't know.

So I personally don't like it much but I don't want to be the one who blocks 
this PR if others have a different opinion.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/3034#issuecomment-3977770205
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/pull/3034/[email protected]>

Reply via email to