2013-10-02 3 views
0

특정 토큰을 찾고 소스 코드 파일을 읽는 것과 관련된 프로젝트를 진행 중입니다. (제 경우에는 Objective-C 클래스가 프로토콜을 구현하는지 확인하려고합니다.) 문제는 키워드에 대한 행을 스캔 할 수는 있지만 주석 또는 문자열에 나타날 수 있다는 것입니다.소스 코드 파일을 올바르게 검사하기 (파이썬 포함)

이 문제를 해결하는 올바른 방법은 무엇입니까? 전체 파일을 토큰화할 필요가 있습니까? 더 쉬운 방법이 있습니까?

답변

0

문제는 파일을 한 줄씩 스캔 할 때 키워드와 일치 할 수 있지만 주석의 일부일 수 있다는 것입니다. 예 :

?

이 경우 주석을 발견하면 변수를 True로 설정하고 주석이 끝나면 변수를 False로 다시 설정할 수 있습니다. 변수가 거짓 인 동안 키워드를 찾으면 해당 키워드가 코드에 나타납니다. 비슷한 방법으로 //가 같은 줄에 있는지 확인할 수 있습니다.

'//' in currentLine 
+0

생각해 보았지만 원하는 키워드가 들어있는 문자열이나 변수를 어떻게 처리합니까? – Moshe

+0

'//'currentLine에없고 'myKeyword'는 currentLine에 있고 noComment는 입니다. 여기에 noComment = True이면 안됨/* */ 'myKeyword'가 주석 외부에 포함되어 있으며 적절한 조치를 취할 수 있음을 알고 있습니다. . – PhillipD

+0

문자열을 처리하기 위해 무엇을합니까? 나는 주석을 얻는다. 그러나 문자열? – Moshe

관련 문제