Online Partial Evaluation of Actions

액션의 온라인 부분계산

  • 강현구 (한국전자통신연구원 정보통합연구팀 연구원) ;
  • 도경구 (한양대학교 전자계산학과)
  • Published : 1999.12.01

Abstract

프로그래밍 언어의 의미를 정형적으로 표기하는 기법인 액션의미론을 기반으로 한 컴파일러 생성기는 프로그래밍언어의 액션의미구조가 주어지면 그 언어의 컴파일러를 자동으로 생성한다. 생성된 컴파일러는 먼저 원시 프로그램을 그에 상응하는 액션 프로그램으로 확장한 후, 목적 프로그램으로 컴파일 한다. 여기서 액션 프로그램은 일종의 중간코드로 쓰이므로, 효율적인 목적코드를 생성하기 위해서 중간코드의 성능향상이 필요하다. 본 논문에서는 액션 프로그램을 부분계산을 통해 효율적인 코드로 자동 변환해 주는 온라인 액션 부분계산기를 설계하고 구현한다. 선행 연구된 오프라인 방식에서 전역분석을 하지 않고는 불가능했던 요약캡슐의 몸통, 펼치기의 몸통에 대한 부분계산이 온라인 방법을 사용하면 가능함을 보이고, 명령형 액션의 부분계산도 추가적으로 수행할 수 있도록 확장한다. Abstract Action Semantics is a framework for formally defining the semantics of programming languages. Action semantics-directed compiler generators take an action semantics definition of a programming language and automatically generate a compiler of the language. The generated compiler first expands a source program into an action denotation of the program, and then compiles it to a target code. In these compiler-generation systems, it is important to statically process the expanded action denotation - used as an intermediate code - as much as possible so that the generated compiler can produce better target code. In this paper, we develop an automatic action-transformation method based on online partial evaluation. The previous off-line method was rather weak because it could not partially evaluate actions inside the body of abstraction and unfolding-action without performing separate global analysis. The proposed online method remedies the problem, thus naturally improves the quality of residual actions. Moreover, we also extend the method to partially evaluate imperative actions.

Keywords

References

  1. In CC'92, Proceedings of the 4th International Conference on Compiler Construction ACTRESS;an action semantics directed compiler generator Deryk F. Brown;Hernamo Moura;David A. Watt
  2. In PEPM'95 Proceedings of Symposium on Partial Evaluation and Semantics-Based Program Manipulation Action transformation by Partial evaluation Kyung-Goo Doh
  3. Computer Languages v.19 no.4 Action semantics-directed prototyping Kyung-Goo Doh;David A. Schmidt
  4. In PEPM'91, Proceedings of Symposium on Partial Evaluation and Semantics-Based Program Manipulation Techniques for partial evaluation of imperative languages Uwe Meyer
  5. Action Semantics. Cambridge Tracts in Theoretical Computer Science 26 Peter D. Mosses
  6. Notes for FME'94 Formal Methods Europe A tutorial on action semantics Peter D. Mosses
  7. Action Notation Transformations Hermano Moura
  8. In CC'94, Proceedings of the 5th International Conference on Compiler Construction Action transformation in the ACTRESS compiler generator Hermano Moura;David A. Watt
  9. CC'94, Proceedings of the 5th International Conference on Compiler Construction An Optimizing Action-based Compiler Generator Peter Φrbæc. OASIS;Peter Fritzon(ed.)
  10. Provably Correct Compiler Generation Jens Palsberg
  11. Programming Language Syntax and Semantics David A. Watt