컴파일러

정적 타입을 가진 언어에서 컴파일러가 타입 검사를 하는 주된 이점은?

  1. A타입이 맞지 않는 연산이나 대입을 실행하기 전에 발견할 수 있다
  2. B타입 선언이 없어져 프로그램이 반드시 짧아진다
  3. C실행 중에 일어나는 모든 오류를 컴파일 시에 없앨 수 있다
정답과 해설 보기

정답: A. 타입이 맞지 않는 연산이나 대입을 실행하기 전에 발견할 수 있다

타입 검사에서는 정수와 문자열을 더하려 하거나 함수에 타입이 다른 인수를 전달하는 등의 오류를 프로그램을 실행하기 전에 발견할 수 있습니다. 오류를 일찍 발견할 수 있을 뿐 아니라, 타입 정보는 컴파일러가 효율적인 기계어를 고르는 데에도 도움이 됩니다. 다만 0으로 나누기나 배열 범위 밖 접근처럼 값에 따라 일어나는 오류까지 모두 없앨 수 있는 것은 아닙니다. 타입을 선언하는 만큼 프로그램이 짧아진다고도 할 수 없습니다.

  • A. 올바릅니다. 타입 오류를 실행 전에 발견할 수 있습니다.
  • B. 타입을 선언하는 만큼 짧아진다고는 할 수 없습니다.
  • C. 값에 따라 일어나는 실행 시 오류는 없앨 수 없습니다.
이 분야 연습하기 분야로 돌아가기

컴파일러의 다른 문제

  1. 어휘 분석에서 토큰을 구별하는 규칙을 나타내는 데 자주 사용되는 것은?
  2. 많은 프로그래밍 언어의 문법을 나타내는 데 사용되며 구문 분석의 기초가 되는 문법의 종류는?
  3. 식 2 + 3 * 4의 추상 구문 트리의 형태로 올바른 것은?
  4. 중간 표현의 하나인 3-주소 코드의 특징으로 올바른 것은?
  5. 레지스터 할당의 준비로 수행하는 생존 구간(라이브니스) 분석에서 구하는 것은?

이 분야의 비교