일부 정보를 얻기 위해 일부 C++ 파일을 구문 분석해야합니다. 한 사용자의 경우에는 열거 형 값 "ID_XYZ"가 있는데, 소스 파일에 표시되는 횟수를 확인하려고합니다. 그래서 내 질문에 C + +로 구분 기호를 구분 기호는 무엇입니까?C++ 언어 기호 구분 기호
0
A
답변
2
순전히 구분 문자를 기반으로 C 또는 C++ 소스 코드를 토큰화할 수 없습니다. 한 번에 한 문자 씩 읽어야하며, 해당 문자가 현재 토큰의 일부가 될지 여부를 알아야합니다. .
예를 들어 C 스타일의 시작 주석 토큰을 볼 때 닫기 토큰 토큰이 발생할 때까지 문자를 살펴야합니다. 마찬가지로 문자열 및 프리 프로세서 지시문 (예 : #if 0 .... #endif
시퀀스). 그것을 정확하게하기 위해서, 당신은 또한 삼부작을 올바르게 다룰 필요가 있습니다. 예를 들어,이 같은 고려 : 렉서가 제대로 trigraph를 처리하지 않는 경우
// Why doesn't this work??/
ID_XYZ = 1;
, 그것은 아마 당신의 ID_XYZ
의 인스턴스로서 식별됩니다 -하지만 실제로는 그렇지 않다 - ??/
상기 마지막 줄의 끝은 실제로 \
으로 끝나는 trigraph입니다. 이는 "단일 줄"주석이 실제로 다음 줄인 줄의 끝까지 확장되며 ID_XYZ
의 실제 인스턴스가 실제로 주석의 일부임을 의미합니다.
관련 문제
- 1. 레코드 구분 기호 내 레코드 구분 기호
- 2. pycharm의 줄 구분 기호 또는 구분 기호
- 3. 다른 코드 : 구분 기호 // 및 구분 기호 $$
- 4. C# char "//"경로 구분 기호
- 5. C#의 십진수 구분 기호
- 6. C#의 XML 구분 기호
- 7. fgetcsv에서 "#"구분 기호 사용?
- 8. C의 숫자 구분 기호
- 9. 키 포함 구분 기호
- 10. VIM에 숨겨진 "$"달러 기호 구분 기호
- 11. Java/clojure : 여러 문자 구분 기호 및 구분 기호 유지
- 12. 구분 기호 배열로 분해
- 13. 셀 구분 기호
- 14. 강제 CSV 구분 기호
- 15. 분할 다른 구분 기호
- 16. StatusBar에서 구분 기호 사용
- 17. QDockWidget 보이는 구분 기호
- 18. numpy.genfromtxt : 애매한 구분 기호?
- 19. VBA 문자열 구분 기호
- 20. Xamarin.Forms의 구분 기호
- 21. WPF 구분 기호 위치
- 22. ListView의 "구분 기호"
- 23. 구분 기호 Awk
- 24. HTML 메뉴 구분 기호
- 25. 내용 유형 구분 기호
- 26. 쉼표 구분 기호 제거
- 27. 구분 기호 삽입
- 28. 목록 구분 기호 스크립트
- 29. 목록보기의 "구분 기호"
- 30. 자바 스캐너 구분 기호 \
파일을 문자열 변수로 읽은 다음 기본 문자열 일치 또는 정규식 기반 문자열 검색을 사용하여 필요한 enum을 검색하지 마십시오. – AurA
또는 변수 이름에 나타날 수있는 문자 – leon
표준에 모두 포함 –