DOI QR코드

DOI QR Code

작용 식 기반 통합 점진 해석 시스템 구축

Building of Integrated Increment Interpretation System Based on Action Equations

  • 한정란 (협성대학교 경영정보학부) ;
  • 최성 (남서울대학교 컴퓨터학과)
  • 발행 : 2004.06.01

초록

소프트웨어가 대형화되고 고도화되어 감에 따라 프로그램 개발 환경에서 프로그래밍 생산성과 효율성을 향상시키기 위해 에디팅. 컴파일링, 디버깅 및 실행을 하나의 통합 환경으로 구축하는 것이 필요하다. 이러한 환경에서 중요한 도구가 되는 것이 점진 번역기이다. 본 논문에서는 소프트웨어의 재 사용성과 생산성을 향상시키기 위해, 에디팅, 디버깅, 점진 해석 및 실행을 하나의 통합 환경으로 구성하여 보다 친근하고 편리하게 사용할 수 있는 사용자 인터페이스를 제공하는 소프트웨어 개발을 위한 통합 점진 해석 시스템을 구축하고자 한다. 객체 지향 언어인 IMPLO(IMPerative Language with Object) 언어를 EBNF 표기법으로 정의하고 이 언어에 대한 점진 해석기를 구현한다. 점진 해석기를 구현하기 위해 정적 의미론을 표현하는 속성 문법을 확장하여 동적인 의미론을 표현할 수 있는 작용 식을 제시한다. 동적 의미 분석 방법에 의해 점진 해석을 수행하고 에디터와 디버거를 가진 통합 점진 해석 시스템을 Lex와 Yacc을 이용해서 C 언어로 프로그래밍하고 SUN에서 X로 구현하였다. 예제 프로그램들의 점진 실행 시간을 전체 프로그램의 실행 시간과 비교했을 때 약 50% 정도의 속도 개선 효과를 거둘 수 있었다.

As software is large and sophisticate, in order to increase the productivity and efficiency of programs in programming development environments, it is necessary to support the integrated system that offers user interface integrated editing, compiling, debugging, and running steps. The key tool in such environments is an incremental translation. In this paper, in order to increase the productivity and reusability of software, the goal is to construct the integrated incremental interpretation system that supports friendly user interface with editor, debugger, and incremental interpreter. We define the new object-oriented language, IMPLO(IMPerative Language with Object) using EBNF notation, and construct the integrated incremental interpretation system using incremental interpreter of the language. To do so, we extend attribute grammars for specifying static semantics and present new action equations to describe the dynamic semantics. We executed the incremental interpretation by using analyzing the dynamic semantics and then implemented integrated incremental interpretation system with editor and debugger in C, Lex and Yacc using X windows on SUN. We obtain about 50% speedups in case of incremental execution time for example programs.

키워드

참고문헌

  1. 한정란, '작용 식 기반 점진 해석', Ph.D Thesis 이화여대, 1999
  2. 한정란, 이기호, '작용 식 기반 점진 해석기,' 정보과학회논문지, 제26권 제8호, pp.1018-1027, 1999
  3. 이기호, 한정란, '순환 속성 문법의 효율적 점진 평가 기법', 정보과학회논문지, 제21권 제6호, pp.116-1126, 1994
  4. 한정란, 이기호, '종속 차트를 사용한 점진 해석 시스템 구축', 정보과학회 춘계 학술발표논문집, 제26권 제1호, pp.87-89, 1999
  5. 이기호, 한정란, '점진 해석기 소프트웨어 개발 통화 시스템 구축', 핵심전문연구보고서, 한국과학재단, 2000
  6. T. Teitelbaum and T. Reps, 'The Cornell Program Synthesizes:A Syntax-directed Environment,' Communication ACM, Vol.24, No.9, pp.563-573, 1981 https://doi.org/10.1145/358746.358755
  7. Raul Medina Rora and David S. Notkim, 'ALOE users' and implementers' guide,' Carnegie-mellon Computer Science Depart. Research Report CS-81-145, 1981
  8. A. N. Habermann, 'The Gandalf Research project,' Computer Science research Review Carnegie-Mellon University, 1979
  9. Charles N. F., Greg J. and Jon M., 'An Introduction to Editor Allen Poe,' Univ. Wisconsin-Madison TR 451, 1981
  10. John F. Beetem and Anne F. Beetem, 'Incremental Scanning and Parsing With Galaxy,' IEEE Transactions on Software Engineering, Vol.17, No.7, pp.641-651, 1991 https://doi.org/10.1109/32.83901
  11. Roger Hoover, 'Alphonse : Incremental Computation as a Programmer Abstraction,' ACM SIGPLAN Notices, pp.261-272 1992

피인용 문헌

  1. Formal Semantics for Processing Exceptions vol.17A, pp.4, 2010, https://doi.org/10.3745/KIPSTA.2010.17A.4.173