컴파일은 일반적으로 어휘 분석, 구문 분석 등 여러 단계로 이루어집니다. 예를 들어 C 언어로 다음과 같이 썼습니다.
a=24;
선언하지 않고 a
로 int
. 이제 어떤 컴파일 단계에서 오류가 감지됩니까? 구문 분석 단계에서? 그렇다면 어휘 분석기는 무엇을합니까? 소스 코드를 토큰 화하는 것뿐입니까?
컴파일러의 일반적인 형태 얘기하면, 명백하다 파서 심볼 테이블 엔트리에서 심볼 탐색 찾는다 때 오류 구문 분석 단계에서 발생 , 및 그 후의 위상 - 에러 복구 후 추가로 처리하는 경우에만 .
용의 책 에도 분명히 나와 있습니다. 오류 유형이 언급 된 페이지에 언급되어 있습니다. 이 문제를 이해하기 위해 철저히 연구해야 할 주제는 4.1.3-구문 오류 처리에 나와 있습니다.
a = 24; // without declaring a as an int type variable.
여기서 어휘 단계의 작업은 단순히 문자에 액세스하고 토큰을 형성 한 다음 추가 단계, 즉 구문 분석 단계의 구문 분석 등으로 전달하는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다