2013-05-07 5 views
1

어셈블러 프로젝트에서 태그를 생성하고 싶지만, ctags-5.6은 어셈블러의 매크로 정의를 이해하지 못하는 것 같습니다. 태그 종류를 결정하기 위해 사용할 패턴을 ctags에 설명하는 방법이 있습니까?어셈블러에서 ctags를 사용합니다.

감사합니다. 마크

+0

5.6은 구식이며 현재 버전 인 5.9는 4 년 또는 5 년 전에 출시되었으며 기본적으로 ASM을 지원합니다. – romainl

답변

0

Assembler 용 태그 데이터베이스를 생성 할 방법이 필요합니다. 형식은 간단합니다 (:help tags-file-format 참조). Exuberant Ctags의 기본 태그 프로그램은 (--langmap, --regex) 일 수 있지만 복잡한 언어의 경우 대략적인 구문 분석 만 수행 할 수 있습니다.

전용 실행 파일을 더 잘 작성/검색하십시오. (도 있습니다 jtags 자바에 대한처럼, 전례, 그리고 플러그인은 사용자 정의 태그 프로그램을 사용하여 구성 할 수있는 태그 사이드 바의 많은.)

+0

Ingo, 의견을 주셔서 감사합니다. 내 $ HOME/.ctags에 정규식을 추가했지만 무언가가 제대로 작동하지 않는 것 같습니다. 기본적으로 my asm은 변수 정의를 'vardef regtype NAME register'로 지원하므로 "--regex-asm =/^ [\ t] * vardef [\ t] + (regtype | volatile) + [\ t] + [ *// 2/d,/i "이제는 ctags를 실행하지만 결과 태그에서 두 줄을 얻습니다. 하나는 올바르게 구문 분석되고 'D'로 태그 지정되고, 다른 하나는 'l'(레이블)로 태그되었습니다. 틀린 것은 무엇입니까? – Mark

0

적어도 가스 매크로에 대한 보편적-ctags를 처리 (https://ctags.io) 개선되었습니다.

(유니버설 ctags를)

[[email protected] 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 

(무성 ctags를-)

[[email protected] wan]$ ctags -x -o - wanxlfw.S | grep macro 

무성-ctags를 아무것도 포착되지.