문제
정적 소스 코드가있는 C ++ 파일의 팩을 얻었습니다 (이미 개발되었지만 아무것도 할 필요는 없습니다).
해당 파일 중 하나와 함께 각 함수의 매개 변수 목록을 얻는 프로그램/lib/방법이 있습니까?
내 말은 다음과 같은 결과를 얻습니다.
#File a.cpp
##a() -> 3 paramss
##foo() -> 0 params (void)
#File b.cpp
##test() -> 1 param
....
그리고 더 나은 질문.
수익 수를 처리 할 수있는 방법이 있습니까?
#File a.cpp
##a() -> 3 params, 1 return
##foo() -> 0 params (void), 2 returns
예를 들어 "foo"가 조건이 true 인 경우 리턴이 있고 다른 경우 거짓 인 경우
미리 감사드립니다.
다른 팁
나는 ","의 수를 계산하고 1에서 시작합니다. 이것은 당신에게 인수 수를 함수에 대한 정확한 수를 제공해야합니다. 그런 다음 함수 이름 앞에 "void"가 존재하는지 확인합니다. 그렇지 않으면 반환 값이 있다고 확신 할 수 있습니다.
ifstream infile;
infile.open(...);
int i, ret, args;
String s;
ret = args = 0;
s = infile.getline();
for( i=0; s[i] != '('; i++ ) {
if( s[i] == 'v' && s[i+1] == 'o' && s[i+2] == 'i' && s[i+3] == 'd' ) {
ret = 1;
break;
}
}
for( i=0; s[i] != '('; i++ ) {}
for( i; s[i] != ')'; i++ ) {
if( args == 0 && s[i] != ' ' ) {
args++;
}
if( s[i] == ',' ) {
args++;
}
}
이 모든 것이 정상 위에 있지만 아마도 이것은 당신의 차 한잔일지도 모릅니다. 엘사 C ++를 구문 분석하고 구문 분석 파일의 추상 구문 트리를 제공 할 수 있습니다. 똑같이 할 수있는 다른 무료 도구가있을 수 있습니다.
제휴하지 않습니다 StackOverflow