Design and Implementation of C Program Detranslator from Symbol Table for Program Declaration Part

프로그램 선언부를 위한 심벌테이블에서 C 프로그램 역번역기의 설계 및 구현

  • Kwon, Hyeok-Ju (Dept of Computer Engineering, SeoKyeong University) ;
  • Kim, Young-Koun (Dept of Computer Engineering, SeoKyeong University) ;
  • Lee, Yang-Sun (Dept of Computer Engineering, SeoKyeong University) ;
  • Oh, Se-Man (Dept of Computer Engineering, DongGuk University)
  • 권혁주 (서경대학교 컴퓨터공학과) ;
  • 김영근 (서경대학교 컴퓨터공학과) ;
  • 이양선 (서경대학교 컴퓨터공학과) ;
  • 오세만 (동국대학교 컴퓨터공학과)
  • Published : 2005.05.13

Abstract

ANSI C 언어는 UNIX 시스템에서 뿐만 아니라 DOS 환경에서 수행되는 C 컴파일러와 각종 지원 도구가 개발되어 보급됨으로써 오늘날 널리 사용되는 범용 프로그래밍 언어 중 하나이다. EVM(Embedded Virtual Machine)은 ANSI C 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 가상 기계이며, SIL(Standard Intermediate Language)은 EVM에서 실행되는 중간언어로 다양한 프로그래밍 언어를 수용하기 위해서 객체지향 언어와 순차적 언어를 모두 수용하기 위한 연산 코드 집합을 갖고 있다. EVM을 위한 ANSI C 컴파일러는 ANSI C 언어를 받아 들여 EVM의 중간 언어인 SIL 코드를 출력한다. ANSI C 컴파일러에서 어휘 분석과 구문 분석 과정에서 인식되는 명칭에 대해서 그 속성들을 수집하고 이용한다. 이 속성들은 명칭이 명시적으로 혹은 묵시적으로 정의되는 곳에서 심벌 테이블에 수집된다. 본 논문에서는 수집된 정보가 올바르게 되었는지 확인하기 위하여 심벌 테이블에 있는 정보를 다시 ANSI C 언어로 복원시키는 역변역기(detranslator)를 구현하였다.

Keywords