컴파일러

프로그램의 오류 중 컴파일 시점에 발견할 수 있는 것은?

  1. A사용자가 입력한 파일이 존재하지 않아 생기는 오류
  2. B실행 중에 사용할 수 있는 메모리가 부족해지는 오류
  3. C괄호의 짝이 맞지 않는 문법 오류
정답과 해설 보기

정답: C. 괄호의 짝이 맞지 않는 문법 오류

괄호의 짝이나 세미콜론 누락 같은 문법 오류는 구문 분석 단계에서 반드시 발견되어 컴파일이 멈춥니다. 타입 불일치 등도 의미 분석에서 발견됩니다. 반면 사용자가 지정한 파일이 존재하는지, 실행 중에 메모리가 충분한지는 실행할 때의 환경이나 입력에 따라 달라지므로 컴파일 시점에는 알 수 없습니다. 이러한 실행 시 오류에는 프로그램 안에서 반환값을 확인하는 등의 대책이 필요합니다.

  • A. 파일의 유무는 실행할 때의 환경으로 정해집니다.
  • B. 메모리가 충분한지는 실행할 때 정해집니다.
  • C. 올바릅니다. 문법 오류는 구문 분석에서 발견됩니다.
이 분야 연습하기 분야로 돌아가기

컴파일러의 다른 문제

  1. 정적 타입을 가진 언어에서 컴파일러가 타입 검사를 하는 주된 이점은?
  2. 어휘 분석에서 토큰을 구별하는 규칙을 나타내는 데 자주 사용되는 것은?
  3. 많은 프로그래밍 언어의 문법을 나타내는 데 사용되며 구문 분석의 기초가 되는 문법의 종류는?
  4. 식 2 + 3 * 4의 추상 구문 트리의 형태로 올바른 것은?
  5. 중간 표현의 하나인 3-주소 코드의 특징으로 올바른 것은?

이 분야의 비교