언어 처리기

Oak_Cassia·2022년 6월 11일
0

Compiler

목록 보기
8/8

컴파일러

  • 고수준 언어를 저수준 언어로번역
  • 제품으로 판매될 때
  • 프로그램이 반복적으로 사용될 때
  • 명령이 복잡할 때

인터프리터

  • 소스 프로그램을 실행
  • 한 번 쓰고 버릴 때
  • 실행 속도가 무의미할 때

Compilation

  • a 기계에서 c프로그램을 a 기계로 컴파일
  • 컴파일할 수 있다.

Cross compilation

  • a 기계에서 c프로그램을 b 기계로 컴파일

Two stage compilation

  • 2개의 번역기

추상머신

  • 플랫폼에 의존하지 않아도 된다.
  • 테스트, 디버깅 유용

Interpretive compilers

  • 소스 프로그램을 중간 언어로 번역
  • 인터프리터가 목적 프로그램 실행
  • 중간언어는 기계 코드와 소스 코드 사이의 수준

Bootstrapping

  • 언어에 대한 컴파일러를 자체 언어로 구현해 플랫폼에 대한 의존도를 낮춤
  • 첫 번째 컴파일러를 어떻게 만들까

Full bootstrap

  • 새 컴파일러를 처음부터 만들 때 필요
  • 다른 언어에 대한 의존성 제거

Half bootstrap

  • 먼저 해당 기계로 컴파일한 후 다른 기계로 크로스 컴파일
profile
rust로 뭐할까

0개의 댓글