.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 法頂
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
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 法頂
댓글 달기