Understandable. However, I wanted to make ctags pass extracted information to client tools including Geany as is.
I thought ctags should not do too clever. Reducing information can be done in a client tool. In ctags level, just passing too much information is better than reducing information. Even if a target language doing wrong, ctags doesn't try to fix it. This basic rule makes the development ctags a bit easier.
What ctags can do is providing more API for: (1) getting separators, and (2) adjusting separators as a client tool wants when making tags.
OK, understood, I think no API is needed, I just converted `` to `::` for PHP in Geany, no real problem there.
It seems that you misunderstand the meaning of roles.
It's true I misunderstood roles, the problem is still present though - I just created a new issue against ctags here https://github.com/universal-ctags/ctags/issues/3211 so we don't pollute this thread.