1

我想在我正在处理的 Assembler 项目上生成标签,但 ctags-5.6 似乎不理解汇编程序的宏定义。有没有办法解释 ctags 使用什么模式来确定标签类型?

谢谢。标记

4

2 回答 2

1

至少关于气体宏处理 Universal-ctags( https://ctags.io ) 得到了很好的改进。

(通用-ctags)

[jet@localhost wan]$ ~/var/ctags/ctags -x -o - wanxlfw.S | grep macro
memcpy           macro       148 wanxlfw.S        .macro memcpy src, dest, len // len must be < 65536 bytes
memcpy_from_pci  macro       126 wanxlfw.S        .macro memcpy_from_pci src, dest, len // len must be < 8 MB
memcpy_from_pci  macro       168 wanxlfw.S        .macro memcpy_from_pci src, dest, len
memcpy_to_pci    macro       136 wanxlfw.S        .macro memcpy_to_pci src, dest, len
memcpy_to_pci    macro       173 wanxlfw.S        .macro memcpy_to_pci src, dest, len
wait_for_command macro       180 wanxlfw.S        .macro wait_for_command

(Exuberant-ctags)

[jet@localhost wan]$ ctags -x -o - wanxlfw.S | grep macro

Exuberant-ctags 什么也没捕捉到。

于 2017-04-12T17:29:43.897 回答
0

您需要一种为 Assembler 生成标签数据库的方法。格式很简单,见:help tags-file-format。默认标签程序Exuberant Ctags可以使用正则表达式( --langmap, --regex) 进行扩展,但这可能只会产生对复杂语言的近似解析。

更好地为它编写/搜索专用的可执行文件。(有先例,例如Java 的jtags,许多标签侧边栏插件也可以配置为使用自定义标签程序。)

于 2013-05-07T19:11:28.370 回答