1-pass / 2-pass Compiler의 차이점
1-pass 컴파일러는 원시 프로그램을 한번만 읽어서 목적코드로 번역하도록 컴파일의 전 과정을 하나의 pass로 구현한 방법이다. 1-pass 컴파일러는 원시 프로그램을 한번만 읽어 가면서 번역을 하기 때문에 현재 번역되고 있는 위치에서 아직까지 번역하지 않은 부분으로의 분기(forward jumping)가 발생하는 경우 정확한 위치를 결정할 수 없기 때문에 빈칸으로 남겨 두었다가 계속되는 번역에서 정확한 정보를 얻었을 때 빈칸으로 남겨 두었던 부분을 채워 넣는 back patching을 필요로 하는 문제점이 있으나 원시 프로그램을 한번만 읽어서 직접 목적코드를 생성하므로 2-pass 컴파일러에 비해 컴파일 속도가 빠른 장점을 가진다. 2-pass 컴파일러는 입력 프로그램을 모두 두번 읽어서 목적코드를 ..
Archive/★ IT __이야기
2009. 5. 10. 23:37