An example where a regex parser might not be as capable as a parser written in C is making tags for the properties and methods in a matlab classdef. Using the example in https://au.mathworks.com/help/matlab/ref/classdef.html. At the moment the ctags parser makes tags for the properties CurrentSpeed and SpeedRange but as stand alone variables, not associated with class Motor, and similarly functions start() and stop() are tagged as standalone functions not associated with Motor.

Obviously a parser written in C can associate members and methods with the containing entity since the C/C++ parser shows nested struct/classes to any depth. But it is "slightly" more complex than ctags matlab.c.

IIUC there is a simple context (scope) stack for regex parsers, but I am not sure it can distinguish between a function foo() as a standalone function or as a method of a class?


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/pull/3563/c1746688182@github.com>