3

C 구문을 구문 분석 할 수있는 라이브러리가 있습니까?C 구문 구문 분석기

예를 들어 나는 c 구문을 사용하여 c 파일을 분석 할 내 자신의 코드/스크립트를 작성하고 싶습니다. 함수/파일, 함수의 코드 줄당 주석 행 수 등 ..... if 문 수 ..... .....

이 모든 사용자 정의 코드를 작성하는 데는 아무런 문제가 없습니다. 이미 파서로 시작하는 대신 시작하는 데 사용할 수있는 lib가 이미있었습니다.

감사합니다.

+6

라이브러리로 'clang'을 사용하면 효과가 있다고 생각합니다. –

+0

흠 나는 clang으로 이것을하는 법을 모르겠습니다. 예를 들어 함수의 "if"문 수를 세어 봅니다. – jox

+1

@jox, clang은 당신이 찾고있는 것이 틀림 없습니다. 결국 전체 C 파서를 포함합니다. –

답변

2

이미 제안 된 clang 외에, pycparserBoost.Wave을 고려하십시오.

+0

브라이언, pycparser 정확히 내가 무엇을합니다. 매우 간단하고 쉽습니다. c/C++에 대해 간단한 것이 있습니까? 그렇지 않다면 나는 파이썬으로 무언가를 해킹 할 것이다. – jox

+1

C++의 "해킹 무언가"가 악명 높고 오류가 발생하기 쉽습니다. –

0

개인적으로, 나는 먼저 당신이 원하는 것을하기위한 기존 도구를 찾아 볼 것입니다. 이것은 엄청난 일처럼 들리며 코드 메트릭을 위해 좋은 무료 도구가 많이 있습니다 (SourceForge을 보셨나요?).

프로젝트와 함께 앞서가는 주장하는 경우 C.

그러나

렉스/Yacc에 문법에 대한 구글 수도, 나는 Antlr에 몇 년 전 렉스/Yacc에로 전환. 나는 특히 그것이 당신을 허락하는 방식을 좋아한다. visually step through your parsing.

훌륭한 도구이며 무료입니다. complete grammar for C도 사용할 수 있으므로 필요에 맞게 수정할 수 있습니다.

희망이 도움이됩니다. 행운을 빌어 요

2

구문 론적 분석보다는 의미 론적 분석보다 대상을 더 많이 타겟팅하지만 CILFrama-C에 관심이있을 수 있습니다 (둘 다 OCaml에서). 관심있는 다른 도구 (OCaml과 Python 바인딩)는 Coccinelle입니다.

-1

코드 적용 도구를 사용해보십시오. 코드 커버리지는 소스 코드의 몇 퍼센트가 실행되는지 보여주기위한 것이지만, 그 중 일부는 코드 커버리지를하는 동안 얼마나 많은 조건문이나 루프가 발생했는지를 보여줍니다. 내 경험에 기반하여 공유 할 수있는 한 가지 예는 일리노이 워크 벤치 코드 커버리지 도구입니다.