레이블이 macro인 게시물을 표시합니다. 모든 게시물 표시
레이블이 macro인 게시물을 표시합니다. 모든 게시물 표시

2008년 8월 5일 화요일

Source Insight에서 Custom Token Macro 활용하기

Source Insight에서 Custom Token Macro 활용하기

이 내용은 제 springnote에 정리한 내용을 옮겨온 것입니다.


Token Macro란?

  • Token Macro는 소스에 삽입되어 있는 특정 macro 문구를 Source Insight가 올바로 해석할 수 있도록 원문으로 풀어서 기술해주는 기능입니다.
  • Source Insight가 지원하는 token macro 파일은 다음과 같습니다.
Language File Name
C and C++ C.tom - default 파일이 Source Insight에 포함되어 있음
HTML Html.tom
Java Java.tom
Resource Files Rc.tom
X86 Assembly Language X86.tom
Perl Perl.tom
  • 내 문서/Source Insight 폴더 아래에 두면 모든 프로젝트에 공통 적용됩니다.
  • 각 프로젝트의 root 폴더에 tom 파일을 두면 그 프로젝트에 대해 공통 tom 파일보다 우선합니다.

Symbian 개발 소스를 위한 설정

  • Symbian 개발 소스에도 특별히 알려주지 않으면 소스의 parsing이 제대로 되지 않아 참조가 꼬이는 문제가 발생합니다.
  • 이 문제를 해결하기 위해 e32def.h 파일 등의 내용을 가져와 C.tom 파일에 적절히 추가해주면 됩니다.
  • Symbian SDK 3.2를 기준으로 미리 작성해둔 C.tom 파일을 첨부하였습니다.
    1. 첨부된 C.tom 파일을 내 문서/Source Insight 폴더에 복사해넣습니다. 원래 있던 원본 파일은 백업을 해두시는 것이 좋습니다.
    2. Project를 rebuild 합니다.
      Project 메뉴 -> Rebuild Project 항목 선택
      ※ Project를 rebuild 하지 않아도 상수 정의 등과 같은 단순한 macro의 경우 즉시 정상적으로 보이게 됩니다. 하지만 정확한 참조 DB 생성을 위해서는 rebuild 해주는 것이 좋습니다.
  • 스크린샷
    • C.tom 파일을 적용하기 전
      _LIT로 정의된 문자열 상수가 제대로 parsing되지 못하고 엉뚱한 ID로 해석됩니다.

    • C.tom 파일을 적용한 후
      _LIT로 정의된 문자열 상수에 대한 참조가 정상적으로 잘 표시됩니다.



      rss 또는 rls에 정의된 resource 참조도 정상적으로 잘 찾아줍니다.

2008년 8월 4일 월요일

Source Insight에서 Custom Language 추가하기

Source Insight에서 Custom Language 추가하기

이 내용은 제 springnote에 정리해둔 것을 가져온 것입니다.


Custom Language란?

  • Source Insight에서 기본적으로 제공하는 프로그래밍 언어 외에 사용자가 새로운 언어 타입을 재정의하거나 추가할 수 있는 기능을 말합니다.
  • 가장 일반적으로 많이 사용되는 C/C++, Java 등의 언어에 대한 Language Definition은 이미 Source Insight에 포함되어 있는데, 이것들 외에 사용자가 별도로 더 추가하고 싶은 언어가 있을 수 있습니다. 이럴 때 사용하는 것이 Custom Language 기능입니다.
  • 또는 Symbian C++ 등과 같이 별도의 추가적인 파일 확장자나 parsing 규칙을 일부 사용하는 경우에 기존 Language Definition을 상속/재정의 해서 사용할 수도 있습니다.

Custom Language File 구하기

  • 기본적으로 Source Insight 공식 홈페이지에서 제공하는 Custom Language File(이하 CLF)을 사용할 수 있습니다.
  • 인터넷 검색을 통해서 몇몇 CLF 파일을 구할 수 있기도 하지만, 의외로 드뭅니다. :(
  • 사용자가 직접 CLF를 만드는 것도 가능합니다. 이 작업은 좀 번거롭고 시간이 걸릴 수 있습니다.

Custom Language 추가하기

Custom Language를 추가하는 데에는 두 가지 작업을 필요합니다. 하나는 Language 자체에 대한 parsing 정보를 등록하는 것이고, 나머지는 등록한 Language를 Project에 적용할 수 있도록 Document Option에 추가해주는 것입니다.
  1. 새로운 Language 추가하기 
    1. Options 메뉴 -> Preferences 메뉴 -> Languages 탭으로 이동합니다.



    2. Import 버튼을 눌러 원하는 CLF 파일을 가져옵니다.
      ※ Add 버튼을 눌러서 새로운 Language를 추가하고 직접 keyword 편집이나 symbol parsing 규칙 등록 등의 작업을 해줄 수도 있습니다.



    3. 이제 Languages 탭에서 새로운 Language가 추가된 것을 확인할 수 있습니다.
      ※ 사용자가 추가한 Custom Language는 아이콘이 약간 다릅니다.



  2. 추가한 Language에 대한 Document Option 추가하기 
    1. Options 메뉴 -> Document Options 메뉴를 실행한 다음 다이얼로그에서 Add Type 버튼을 눌러 새로운 타입을 추가합니다.



    2. 추가된 타입에 대한 상세 설정을 해줍니다.



      1. 이 Language Type이 적용될 확장자를 지정해줍니다.
      2. Include when adding to projects 항목을 체크해주어야 프로젝트 생성 시 해당 확장자 파일이 자동으로 추가됩니다.
      3. 위 첫 번째 단계에서 추가한 Custom Language를 지정해줍니다.

Symbian C++ 개발을 위한 추천 설정

Symbian 관련 개발 상에서는 일반 C++ 개발 상에서와 달리 추가되는 파일들이 몇 가지 더 있습니다. 그렇기 때문에 이 파일들을 별도의 Language Type으로 등록해주면 소스 분석에 더욱 도움이 됩니다.
  • 가장 먼저 Symbian C++ 관련 C.tom 파일을 적용해두셔야 합니다.
  • Symbian C++ 관련 source 파일 등록
    • 추가해야 할 확장자들: *.hrh;*.pan;*.inl;*.rsg;*.rh;*.loc;*.mbg;*.rss;*.rls
      ※ 주의: C++ Language Type에 Symbian C++ 관련 확장자를 등록해두신 분은 C++ Language Type 쪽에서 그 확장자를 제거해주실 필요가 있습니다.



  • Symbian C++ 관련 build script 파일 등록
    • 추가해야 할 확장자들: *.mmp;*.midef;*.inf;*.iby