컴파일러의 frontend에서는사람이 작성한 source code를 lexical, systax, semantic ayalys is를 통해 문법적으로 문제없는 코드라는 것을 보장했고,AST를 만들었다.front end와 back end를 연결하는 과정으로 이전글에서 봤던 code generation 과정이 있다.여기서 AST를 IR로 바꿔서 back end로 넘긴다.이번 글에서부턴 back end의 동작을 알아보자.이 back end에서는 최적화를 하는데 프로그램의 자원 효율성을 높이는 것이다.이 자원의 기준은 사람/프로그램 마다 다르다.어떤 프로그램은 공간을 많이 쓰더라도 시간을 줄이는게 효율성을 높이는 것일 수도 있고 그 반대일 수도 있다.그러나 어떤 방식으로 최적화를 하던지 프로그램의 결과는 바뀌면..