컴파일러 어휘분석에 대해 질문 입니다.
글쓴이: tsoc / 작성시간: 일, 2009/12/06 - 3:01오전
컴파일러를 공부하고 있는 학생입니다..
C로 어휘 분석기를 짜보고 있습니다.
포인터 같은 경우 일단 어휘 분석에서는 곱셈으로 보고, 이후 구문 분석에서
포인터 인지, 곱셈인지 확인하면 될거 같습니다만...
#define이나
#include, #ifdef...
이런 전처리문은 어휘 분석단계에서 어떻게 해결하고 넘어가는지 궁금합니다.
어휘 분석에서 처리하고 넘어 가야 될거 같은데요..
#define에 이어 #ifdef나 #endif를 처리 하려면 테이블 같은거라도 유지 해야 하나요??
아니면 전처리문도 그냥 전처리문으로 보고 넘어가고 의미는 구문 분석에서 보나요?
바쁘시지 않으시면 답변 부탁드립니다..!
Forums:
전처리기
고전적 의미에서 본다면,
#define 등의 전처리기 구문은
c compiler에 의해서 처리되지 않고,
별도의 전처리기 (cpp) 에서 처리됩니다.
즉슨,
c 컴파일러가 cpp를 호출하는 형태가 되겠죠.
c의 구문분석기를 생각하시는 거라면
#define 과 같은 전처리기 구문은 생각하실 필요가 없습니다.
댓글 달기