.h, .c, .cpp 등 C/C++ 파일을 파싱하여 전역변수, 함수, 구조체, 클레스등 정보를 모아보려 하는데요.. 어떻게 파싱을 해야할지 감이 안잡혀서요... 무식한 방법으로 괄호 등을 기준으로 하면 될것 같기도 한데 이는 좀 느릴것 같고... 좋은 방법 없을까요? 아님 이런걸 구현 해 논 오픈소스 라도...
그럼 즐거운 주말 되세요~ ^^
CSCOPE 기반으로 만들어진 KSCOPE 한번 써보세요.
삽질의 대마왕...
그런걸 구현해 놓은 오픈소스로 ctags가 유명합니다.
주로 컴파일러 제작에서 쓰이는 YACC 과 LEX 를 알아보세요. 간단한 문법으로 Lexical Analyzer 및 Parser 의 코드를 생성해 줍니다. --------------------- Emerging the World!
Emerging the World!
네 ctags 가 볼만 하더군요... KSCOPE 의 소스를 열어보니 ctags를 이용하네요.. 그래서 ctags 소스를 가지고 열씨미 분석중입니다.
YACC 나 LEX 같은경우 이용하면 편리하다는걸 알고는 있지만.. 한번도 써본적도 없고 정규식등에 그리 능숙하지가 않아 찾아보질 않았습니다.
의견주신분들 감사합니다.
이 스레드는 여기서 일단락 짓는것으로 합니다. ^__^;
java에 친숙하시다면 javaCC도 있습니다. 기본적으로 EBNF와 비슷한 표기를 파싱해서 입력파일을 AST(Abstract Syntax Tree)로 만들어 주는 코드를 생성합니다.
웬만한 grammar 들도 있습니다.
----- 오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
CSCOPE 기반으로
CSCOPE 기반으로 만들어진 KSCOPE 한번 써보세요.
삽질의 대마왕...
삽질의 대마왕...
그런걸 구현해 놓은
그런걸 구현해 놓은 오픈소스로 ctags가 유명합니다.
주로 컴파일러
주로 컴파일러 제작에서 쓰이는 YACC 과 LEX 를 알아보세요.
간단한 문법으로 Lexical Analyzer 및 Parser 의 코드를 생성해 줍니다.
---------------------
Emerging the World!
Emerging the World!
네 ctags 가 볼만
네 ctags 가 볼만 하더군요...
KSCOPE 의 소스를 열어보니 ctags를 이용하네요..
그래서 ctags 소스를 가지고 열씨미 분석중입니다.
YACC 나 LEX 같은경우 이용하면 편리하다는걸 알고는 있지만..
한번도 써본적도 없고 정규식등에 그리 능숙하지가 않아
찾아보질 않았습니다.
의견주신분들 감사합니다.
이 스레드는 여기서 일단락 짓는것으로 합니다.
^__^;
java에 친숙하시다면
java에 친숙하시다면 javaCC도 있습니다.
기본적으로 EBNF와 비슷한 표기를 파싱해서 입력파일을 AST(Abstract Syntax Tree)로 만들어 주는 코드를 생성합니다.
웬만한 grammar 들도 있습니다.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂