Design of Translator for Stack-Based Code

스택 기반 코드 변환기 설계

  • Kim, Kyung-Soo (Dept. of Computer Science and Engineering, Inha University) ;
  • Kim, Ki-Tae (Dept. of Computer Science and Engineering, Inha University) ;
  • Jo, Sun-Moon (Dept. of Computer Science and Engineering, Inha University) ;
  • Sim, Hyun-Jin (Dept. of Computer Science and Engineering, Inha University) ;
  • Yoo, Weon-Hee (Dept. of Computer Science and Engineering, Inha University)
  • 김경수 (인하대학교 컴퓨터 정보공학과) ;
  • 김기태 (인하대학교 컴퓨터 정보공학과) ;
  • 조선문 (인하대학교 컴퓨터 정보공학과) ;
  • 심현진 (인하대학교 컴퓨터 정보공학과) ;
  • 유원희 (인하대학교 컴퓨터 정보공학과)
  • Published : 2004.05.14

Abstract

자바는 객체 지향언어로 네트워크 기반의 환경에서 응용프로그램을 효율적으로 개발을 위해 설계되었으며 특정 하드웨어나 운영체제에 영향을 받지 않고 동작 할 수 있는 높은 이식성을 가지고 있다. 하지만 자바 언어로 응용프로그램을 개발하면 다른 언어로 작성하는 것 보다 일반적으로 실행이 느리다는 단점이 발생하게 된다. 이를 극복하기 위해 자바 언어에 대한 최적화가 필요하다. 일반적으로 많이 쓰는 최적화 방법으로는 JIT와 같이 실행시간에 필요에 따라 컴파일하여 실행하는 방법과 바이트코드를 수행하고자 하는 특정 프로세서에 적합한 네이티브 코드를 생성하는 방법을 사용하고 있다. 하지만 이러한 방법들은 고유의 최적화 기법과 구현된 프로그램을 이용해서만이 최적화가 가능했고 또한 코드의 추출부터 최적화를 위한 모든 부분까지 구현해야하는 문제점이 있다. 또한 자바 바이트코드는 스택기반의 코드로써 명령어가 많고 표현이 명백하지 않다는 문제점을 가지고 있다. 따라서 분석과 변환이 어렵기 때문에 자바 바이트코드를 스택 기반이 아닌 분석과 최적화가 용이한 3-주소 형태로 변환하여 최적화 기법을 적용해야 한다 본 논문에서는 자바 바이트코드와 3-주소 형태의 중간 코드인 CTOC-B에 대해서 설계한다.

Keywords