解决方法
如果你使用一个简单的正则表达式解析器,那么扩展Exuberant Ctags以支持另一种语言是一项相当简单的练习.
例如,下面是从Exuberant Ctags解析器页面获取的正则表达式解析器的示例:
/*************************************************************************** * make.c * Regex-based parser for makefile macros **************************************************************************/ /* INCLUDE FILES */ #include "general.h" /* always include first */ #include "parse.h" /* always include */ /* FUNCTION DEFinitioNS */ static void installMakefileRegex (const langType language) { addTagRegex (language,"(^|[ \t])([A-Z0-9_]+)[ \t]*:?=","\\2","m,macro","i"); } /* Create parser deFinition stucture */ extern parserDeFinition* MakefileParser (void) { static const char *const patterns [] = { "[Mm]akefile",NULL }; static const char *const extensions [] = { "mak",NULL }; parserDeFinition* const def = parserNew ("Makefile"); def->patterns = patterns; def->extensions = extensions; def->initialize = installMakefileRegex; def->regex = TRUE; return def; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。