중간 표현
From Wikipedia, the free encyclopedia
중간 표현(intermediate representation, IR)은 소스 코드를 표현하기 위해 컴파일러나 가상 머신에 의해 내부적으로 사용되는 데이터 구조 또는 코드이다. 중간 표현은 최적화, 변환 등 추가적인 처리를 위해 설계되어 있다.[1] 훌륭한 중간 표현은 "정확"해야 하는데, 즉 정보의 소실 없이 소스 코드를 표현할 수 있어야 하며[2] 특정 소스나 대상 언어와는 독립적이어야 한다.[1] 중간 표현은 여러 형태 중 하나를 취할 수 있다: 인 메모리 데이터 구조로서, 또는 프로그램이 읽을 수 있는 특수 튜플이나 스택 기반 코드로서.[3] 후자의 경우 중간 언어로도 부른다.