반응형

C++로 컴파일러 만들어보기


https://www.yes24.com/Product/Goods/103153057

 

컴파일러 만들기 - 예스24

현대 소프트웨어는 하드웨어의 성능 발전에 힘입어 많은 부분에서 추성화된 덕택에 코딩에 입문하기도 쉬워졌고 원하는 프로그램을 만들기도 쉬워졌다. 하지만 컴퓨터를 더 잘 이해하고 싶고

www.yes24.com

 

  • "컴파일러 만들기" - 유종원 지음
  • 책을 보고 학습한 내용 정리 및 실습을 할 것이다.

 

나의 목표

  1. 책 내용 정리
  2. 나만의 프로그래밍 언어 만든 후 컴파일러 제작.
    1. Github까지 배포해보자.

 

  • 프로그래밍 언어는 한글로 만들 것이다. 
    • 책에서는 저자가 만든 Yulang이라는 형태를 사용한다.
function main() {
	printLine '123';
}
  • 대략 이런 형태임.
    • C++ 로 컴파일러를 작성하면서 작성 저 코드를 scan/parse 하다 보니까 이게 C++인지 Yulang인지 헷갈림.

 

함수 메인() {
	변수 이름 = "머윤";
	출력(1+2);
    출력줄바꿈("Hello");
    출력(이름);
}
  • 이런식으로 한글로 써서 C++과 확실히 구분되게 하겠다 (한글을 써서 좋은 점인가..?)
  • 스펙은 우선 책에 나와있는 최소 스펙으로 만들것임.
    • 변수/배열/map/함수/콘솔출력 정도

 

컴파일러란

코드를 입력받아 코드를 출력하는 프로그램이다. 

소스코드를 받아 목적코드를 만들어낸다.

출처 : https://pintokarsanda.blog.binusian.org/tag/phases-of-compiler/

이 책에서는 크게 3가지 단계를 수행한다. 

1. 어휘분석(Scanner)

2. 구분분석(Parser)

3. 코드생성(Generator)

 

자 이제 시작해보자.

728x90

+ Recent posts