Automatic Compiler Generator for Visual Languages using Semantic Actions based on Classes

클래스 기반의 의미수행코드 명세를 이용한 시각언어 컴파일러 자동 생성

  • 김경아 (명지전문대학 컴퓨터정보과)
  • Published : 2003.10.01

Abstract

The syntax-directed translation using semantic actions is frequently used in construction of compiler for text programming languages. it is very useful for the language designers to develop compiler back-end using a syntax structure of a source programming language. Due to the lack of the integrated representation method for a parse tree node and modeling method of syntax structures, it is very hard to construct compiler using syntax-directed translation in visual languages. In this Paper, we propose a visual language compiler generation method for constructing a visual languages compiler automatically, using syntax-directed translation. Our method uses the Picture Layout Grammar as a underlying grammar formalism. This grammar allows our approach to generate parser efficiently u sing And-Or-Waiting Graph and encapsulating syntax definition as one unit. Unlike other systems, we suggest separating the specification and the generation of semantic actions. Because of this, it provides a very efficient method for modification.

의미 수행 코드를 이용한 문법-지시적 변환 방법은 컴파일러 설계자가 원시 언어의 구문 구조에 따라 직접 컴파일러의 후단부를 표현할 수 있는 효과적인 방법으로 텍스트 프로그래밍 언어에서는 컴파일러 구축 방법으로 널리 사용되고 있다. 그럼에도 불구하고 시각언어의 경우에는 통합된 파스 트리 노드 표현 방법의 부족과 구문 구조의 모델링 방법의 결여로 인하여, 의미 수행 코드를 이용한 문법 지시적 변환 방법에 기반을 둔 컴파일러 구축에 어려움이 있다. 본 연구에서 는 Pictorial Class Grammar의 시각언어 구문 정의를 캡슐화 하는 방법과 And-Or-Waiting Graph를 이용한 구문 분석 방법을 기반으로 하여, 구문 요소를 하나의 클래스형태로 구성함으로써, 구문 요소의 표현에 사용되는 의미와 구문의 미 (syntax-semantics)를 분리 할 수 있는 방법을 제시한다. 이 방법에 기초하여 기존 연구들의 문법-지시적 시각언어 컴파일러 구축의 문제점을 극복하고, 구문 명세와 분리된 의미 수행 코드 명세 방법을 제시하여, 유지보수성을 보다 향상시킨 문법-지시적 변환 방법을 이용한 시각언어 컴파일러 자동 생성 방법을 제공한다.

Keywords