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](https://github.com/geany/geany/tree/master/ctags/parsers/cxx) 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 or view it on GitHub:
https://github.com/geany/geany/pull/3563#issuecomment-1746688182
You are receiving this because you are subscribed to this thread.

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

Reply via email to