7.0 어셈블리
- 스택 머신: 스택을 사용해 식을 계산하는 머신
- 물리 머신(레지스터 머신): 스택을 사용해 식 계산 X
- CPU는 레지스터라는 공간을 사용해 식을 계산함
- 레지스터; CPU 내에 마련된 공간, 램이라고 부르는 메인 메모리와는 별개 공간
- 어셈블리: CPU의 명령어와 일대일로 매칭되는 명령어들의 모음
- C++ 코드에 부분적으로 사용 가능한 인라인 어셈블리를 이용하여 실습
- 짓 컴파일; 배열에 담긴 기계어를 런타임에 실행
7.1 레지스터 머신
- 식의 계산
- 흐름 제어
- 함수의 호출과 종료
- 함수 호출 인자
- 매개변수와 지역변수
7.2 마치며
p.s) 컴파일러 만들기 1회독이 완료되었습니다.
약 한 달 정도 소요되었고, 매주 주말 1회 비공식적으로 아는 지인 한 분과 함께 온라인 스터디를 진행했습니다.
이번 주에 오프라인으로 컴파일러 스터디 마무리가 진행될 예정입니다.
사실 컴파일러를 처음으로 학습하면서 아쉬움이 많이 남습니다.
제가 C++ 언어는 완전 처음이라서 문법이 많이 어색하고 난해했습니다.
그렇다고 현재 메인 언어로 JS를 하고 있는 도중에 C++ 문법을 따로 학습할 여유가 없어서,
책을 읽으면서 흐름과 개념만 익히려고 노력했지만 문법과 툴을 다루는 것이 익숙치 않아 많은 아쉬움이 남습니다.
앞으로 운영체제나 여러 컴퓨터 사이언스를 학습하다보면 단순히 이론에 그치지 않고
때로는 한 번 나만의 것을 직접 만들어 보고 싶은 욕구가 생기게 될 겁니다.
따라서 그 때는 문법이라도 미리 조금 파악하고 이해도가 좀 더 높게 학습을 했으면 좋겠습니다.
저와 함께 스터디를 하신 한분에게 그동안 정말 수고 많으셨고 기회가 된다면 다른 컴퓨터 사이언스를 또 함께 하면서
좋은 개발자로 성장해 나갔으면 좋겠습니다. 감사합니다. 😀
'Books > 컴파일러 만들기 ✔️' 카테고리의 다른 글
[컴파일러 만들기] 6장 - 가상머신 (0) | 2022.01.21 |
---|---|
[컴파일러 만들기] 5장 - 코드 생성 (0) | 2022.01.10 |
[컴파일러 만들기] 4장 - 인터프리터 (0) | 2022.01.03 |
[컴파일러 만들기] 3장 - 구문 분석 (0) | 2021.12.30 |
[컴파일러 만들기] 2장 - 어휘 분석 (0) | 2021.12.22 |
댓글