Design and Implementation of a CHILL96 Compiler Using C++ Intermediate Code

C++ 중간 코드를 이용한 CHILL96 컴파일러의 설계 및 구현

  • Published : 2000.05.01

Abstract

CHILL96 is recommended as development language for telecommunication systems by ITU-T. In this paper, we describe the design and implementation of CHILL96 compiler using C++ intermediate code. Translation rules from CHILL96 to C++ are designed for code generation. The CHILL96 compiler is composed of four parts such s syntax analyzer, visibility checker, semantic analyzer and code generator, and each part has very close relationship with symbol table and abstract syntax tree. Performance evaluation has been performed for feasibility study. After performance evaluation, we conclude the CHILL96 compiler using C++ intermediate sho good performance compared with other CHILL compilers. In addition to high performance and portability, the CHILL96 compiler using C++ intermediate code helps application developers to maintain and enhance telecommunications software by translating CHILL96 program to C++ program.

본 논문에서는 ITU-T에서 통신시트템 구현을 위해 제안된 CHILL96 언어를 C++언어로 변환하는 컴파일러의 설계 및 구현에 관하여 기술하였다. C++ 코드를 생성하기 위해서 CHILL96 언어에서 C++ 언어로서 변환 규칙을 고안하였다. ChILL96 컴파일러는 심볼 테이블과 추상구문트리와 밀접한 관계를 갖는 구문 분석기, 가시싱 제어기, 의미 분석기, 코드 생성기로 이루어져 있다. 또한, 본 논문에서 기술한, CHILL96 컴파일러는 이전에 개발된 다른 CHILL 컴파일러들에 비해 우수한 성능을 보여주었다. 이 논문에서 개발된 CHILL96컴파일러는 성능과 이식성의 향상 이외에도 기존에 CHILL로 개발된 통신 소프트웨어들을 C++로 변환함으로써 신규 기능의 추가니 유지보수에서 편의성을 높였다.

Keywords

References

  1. CCITT, 'Recommendation 2.200', CCITT High Level Language(CHILL)', COM X-R 34-E, Feb. 1992
  2. ITU-T, 'Recommendation 2.200, CHILL-The ITU-T Programming Language', Sept. 1999
  3. B. Stroustrup, 'The C++ Programming Language', Addison Wesley, 3rd Edition, 1997
  4. R. Stallman, 'Using GNU CC - 97R2', Free Software Foundation, 1997
  5. P. Wegner, 'Concepts and Paradigms of Object Oriented Programming,' ACM SIGPLAN OOPS Messenger, Vol.1, No.1, pp.7-87, Aug. 1990 https://doi.org/10.1145/382192.383004
  6. A. Yonezawa, 'ABCL : An Object-Oriented Concurrent System-Theory, Language, Programming, Implementation and Application', The MIT Press, 1990
  7. G. Agha, 'ACTORS : A Model of Concurrent Com putation in Distributed Systems', The MIT Press, Cambridge, Massachusetts, London, England, 1986
  8. J. F. H. Winkler et al., 'Object CHILL-An Object Oriented Language for Telecom Applications,' XIV International Switching Symposium, pp.204-208, Oct. 1992
  9. C. A. R. Hoare, 'Monitors : An Operating System Structuring Concept,' CACM, Vol.17, No. 10, pp.549-557, Oct. 1974
  10. L. Cardelli et al., 'On Understanding Types, Data Abstraction and Polymorphism,' ACM Computing Surveys, Vol.17, No.4, pp.471-522, Dec. 1985 https://doi.org/10.1145/6041.6042
  11. J. Ichbiah et aI., 'Rationale for the Design of the Ada Programming Language', Cambridge University Press, 1991
  12. G. R. Andrews, 'Concurrent Programming: Principles and Practice', The Benjamin/Cummings Publishing Company, Inc., Redwood City, California, 1991
  13. J. R. Levine et aI., 'Lex & Yacc', O'Reilly & Associates, Inc., 1992
  14. A. V. Aho et aI., 'Compilers: Principles, Techniques and Tools', Addison Wesley, 1986
  15. C. N. Fisher, et aI., 'Crafting a Compiler With C', The Benjamin/Cummings Publishing Company, Inc., Redwood City, California, 1991