• Title/Summary/Keyword: 코드생성기

Search Result 367, Processing Time 0.03 seconds

Generation of Ada Executable Code from SRL/ATM (SRL/ATM으로부터 Ada 실행코드 생성)

  • Ko, Hyun;Kim, Kwang-Jong;Lee, Moon-Kun;Lee, Yon-Sik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.10a
    • /
    • pp.359-362
    • /
    • 2001
  • 본 논문은 순환공학 환경에서의 실시간 시스템 개발 및 검증을 위한 코드 생성기 구현과정에서 실시간 시스템에 대한 ATM(Abstract Timed Machine) 명세로부터 생성된 SRL(Software Representation Language) 중간코드로부터 Ada 실행코드 생성방법을 제시한다. 실시간 시스템을 명세, 분석, 검증하기 위한 정형기법인 ATM은 기존의 정형기법과는 달리 순환공학 환경에서의 실시간 시스템이 갖는 정적 및 동적 속성은 물론 특정 환경에서의 동적행위도 표현이 가능하므로, DoME/ATM 그래픽 명세 표기와 중간코드로부터 실행코드를 자동 생성함으로써 순환공학 환경에서의 실시간 시스템 개발 및 검증을 가능하게 한다. 따라서, 실행코드 자동 생성기를 구현하기 위하여 본 논문에서는 선행연구에 의한 DoME/ATM으로부터 변환된 SRL/ATM 코드로부터 Ada 실행코드를 생성하기 위하여 SRL/ATM과 Ada의 관계를 분석하고 실행코드 생성을 위한 기본 규칙들을 정의하여, Ada 실행코드 생성기를 설계한다. 실행코드 생성기는 SRL 파스트리 생성기를 이용하여 구문분석을 통해 구문노드와 수식노드, 단말노드 둥과 같은 구문적 요소들을 추출하여 어휘분석을 통해 얻어진 정보들과 추출된 구문 정보들을 기반으로 실제 Ada 실행코드를 생성한다.

  • PDF

A Study on the Target Code Generation Rule Description from Bytecode (Bytecode로부터 목적 기계 코드 생성 규칙 기술에 관한 연구)

  • Ko, Kwang-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.04b
    • /
    • pp.1033-1036
    • /
    • 2001
  • 컴파일러 후단부 개발시 중간 코드로부터 목적기계 코드를 생성하기 위해서는 각각의 중간 코드 명령어를 목적기계 코드로 치환하는 방법과 다양한 중간 코드 패턴에 대한 목적기계 코드 생성 규칙을 기술하는 방법으로 구분된다. 특히, 컴파일러 후단부 전체를 재구성하지 않고 중간 코드로부터 목적기계 코드를 생성하는 정형화된 규칙을 이용하면 다양한 목적기계 코드를 효율적으로 생성할 수 있다. 본 논문은 Bytecode로부터 정형화된 코드 생성 규칙을 이용하여 Pentium기계에 대한 코드 생성이 가능하도록 코드 생성 규칙 기술 모델을 제시하며 실질적으로 목적기계 코드 생성시에 참조 가능한 정보를 생성하는 코드-생성기 생성기를 연구한다 본 연구를 통해서 Bytecode로부더 다양한 목적기계 코드를 생성할 수 있는 정형화된 코드 생성 규칙 기술 방법을 얻을 수 있다.

  • PDF

A Design and Implementation of JiKU/XML Object-oriented Code Generator Using for Design Pattern (디자인 패턴을 이용한 JiKU/XML 객체지향코드 생성기 설계 및 구현)

  • Sun, Su-Kyun
    • The KIPS Transactions:PartD
    • /
    • v.11D no.4
    • /
    • pp.907-916
    • /
    • 2004
  • The present code generation system, developing based on single system, Is not easy for developers or maintenance men to share pattern design information in distribution environment. So in this paper, we design and implement XML as basis of web environment, and JiKU/XML object-oriented code generator using pattern design. We use UML to change pattern design to XML code, and create code, suitable to PIML command, to generate design information designed by UML into XML code. This JiKU/XML Object-oriented Code Generator makes 10-step codes, and can be easily applied to web environment. It complements the disadvantage of present generator, F77/J++, and makes standardization of design because it uses UML and design pattern information. We compare it with present system by implement Eases, and as a result, generator suggested in this study gives more effective function.

Extraction of Information for Executable Code Generation to Formal Specification (정형명세에 대한 실행코드 생성을 위한 정보 추출)

  • Ko, Hyun;Lee, Moon-Kun;Lee, Yon-Sik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.10a
    • /
    • pp.355-358
    • /
    • 2001
  • 본 논문은 순환공학 환경에서 실시간 시스템 개발 및 검증을 위한 실행코드 생성기 구현과정에서 ATM(Abstract Timed Machine)으로 명세된 실시간 시스템에 대한 정형명세와 명세분석을 통해 생성된 SRL(Software Representation Language) 코드로부터 실행코드로의 변환을 위해 필요한 정보들을 명세하고 이들의 추출 방법을 제시한다. ATM정형기법을 적용하여 실시간 시스템 개발 및 검증을 위해서는 시스템 명세도구나 명세분석을 위한 분석기, 코드 생성기, 검증기 등과 같은 자동화 도구의 개발이 요구된다. 따라서, 본 논문에서는 순환공학 환경에서의 실시간 시스템의 효율적 개발 및 검증을 위하여 사용될 실행코드 생성기 구현을 위하여, 특정 물리적 환경에서의 실시간 시스템을 명세한 DoME/ATM 스크립트 코드에 대한 SRL 코드로의 변환 시 필요한 정보들을 추출하고, 이를 기반으로 SRL 분석기와 SRL 파스트리 생성기를 이용한 Ada 실행코드로의 변환 시 필요한 실행코드 모듈구조 및 실행구문, 코드 실행 우선순위 결정 둥과 같은 관련된 정보들의 추출 방법을 제시한다.

  • PDF

Retargetable Oolong-to-SIL IL Translator (재목적 Oolong-to-SIL 중간 언어 번역기)

  • 권혁주;김영근;이양선
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2004.05a
    • /
    • pp.310-313
    • /
    • 2004
  • 자바는 컴파일러에 의해 아키텍처 독립적인 바이트코드로 구성된 바이너리 형태의 클래스 파일을 생성하면 JVM에 의해 하드웨어와 운영체제에 상관없이 실행이 가능한 플랫폼 독립적인 언어로 현재 가장 널리 사용되는 범용 프로그램 언어중 하나이다. EVM(Embedded Virtual Machine)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어등을 모두 수용할 수 있는 임베디드 시스템을 위한 가상기계이며, SIL(Standard Intermediate Language)은 EVM에서 실행되는 중간언어로 다양한 프로그래밍 언어를 수용하기 위해서 객체지향 언어와 순차적 언어를 모두 수용하기 위한 연산 코드 집합을 갖고 있다. 본 논문에서는 자바 프로그램을 EVM에서 실행 될 수 있도록 자바 프로그램을 컴파일하여 생성된 클래스 파일로부터 Oolong 코트를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하는 Oolong-to-SIL 번역기 시스템을 구현하였다. 번역기 시스템을 정형화하기 위해 Oolong 코드의 명령어 등을 문법으로 작성하였으며, PGS를 통해 생성된 어휘 정보를 가지고 스캐너를 구성하였고, 파싱테이블을 가지고 파서를 설계하였다 파서의 출력으로 AST가 생성되면 번역기는 AST를 탐색하면서 의미적으로 동등한 SIL 코드를 생성하도록 번역기 시스템을 컴파일러 기법을 이용하여 모듈별로 구성하였다. 이와 같이 번역기를 구성함으로써 목적기계의 중간언어 형태에 따라 중간언어 번역기를 자동으로 구성할 수 있어 재목적성(Retargetability)을 높일 수 있다.

  • PDF

A study on the generation of JIT compiler using JBURG (JBURG를 이용한 JIT컴파일러 생성에 관한 연구)

  • Kang Kyung-Woo
    • The KIPS Transactions:PartA
    • /
    • v.12A no.1 s.91
    • /
    • pp.59-64
    • /
    • 2005
  • In this paper, we propose a method of generating a JIT compiler using JBURG. JBURG is a tool of generating the code generator using bottom-up tree pattern matching for Java. Our method can be derived from some relations over tree patterns. The proposed scheme is more efficient than JBURG because we can avoid unfruitful tests with the smaller site of the scheme. Furthermore, the relevant analyses needed for this proposal are largely achieved at non- compile time, which secures actual efficiency at compilation time.

Macro Expansion from Bytecode to Pentium Code (Bytecode에서 Pentium Code로의 매크로 확장)

  • 예희석;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04a
    • /
    • pp.58-60
    • /
    • 2001
  • 플랫폼에 독립적으로 자바 가장 머신(Virtual Machine)에 의해 실행될 수 있도록 설계된 Bytecode는 각 플랫폼에서 인터프리트브 방식으로 수행된다. 그러나 때로는 보다 효율적으로 실행하기 위해서 Bytecode는 목적 코드로의 변환이 요구된다. 매크로 확장 기법은 매크로가 확장되는 정의 루틴을 이용하여 중간 코드에 대해 목적 코드로 빠른 시간내에 코드를 생성할 수 있는 장점을 가진다. 본 논문에서는 Bytecede로부터 Pentium 코드를 생성하기 위해서 매크로 확장 기법을 사용하여 코드 확장기(Code Expander)를 설계하고 구현하였다. 이를 위해 Bytecode에 대한 Pentium코드로 확장하는 규칙을 Budecode 테이블에 기술하였다. 코드 확장기는 Bytecode 추출기로부터 구성된 Bytecode와 Bytecode 테이블을 참조하여 Bytecode에 해당하난 Pentium코드를 생성한다.

An Efficient Code Expansion from EM to SPARC Code (EM에서 SPARC 코드로 효율적인 코드 확장)

  • Oh, Se-Man;Yun, Young-Shick
    • The Transactions of the Korea Information Processing Society
    • /
    • v.4 no.10
    • /
    • pp.2596-2604
    • /
    • 1997
  • There are two kinds of backends in ACK:code generator(full-fledged backend) and code expander(fast backend). Code generators generate target code using string pattern matching and code expanders generate target code using macro expansion. ACK translates EM to SPARC code using code expander. The corresponding SPARC code sequences for a EM code are generated and then push-pop optimization is performed. But, there is the problem of maintaining hybrid stack. And code expander is not considered to passes parameters of a procedure call through register windows. The purpose of this paper is to improve SPARC code quality. We suggest a method of SPARC cod generation using EM tree. Our method is divided into two phases:EM tree building phase and code expansion phase. The EM tree building phase creates the EM tree and code expansion phase translates it into SPARC code. EM tree is designed to pass parameters of a procedure call through register windows. To remove hybrid stack, we extract an additional information from EM code. We improved many disadvantages that arise from code expander in ACK.

  • PDF

A Study on the Code Generation of the Relationship in the Object Modeling (객체 모델링에서 관련성의 코드 생성에 관한 연구)

  • 김기한;이창훈;김진수;이경환
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.597-599
    • /
    • 1998
  • 객체지향 개발방법에 따라 효과적으로 소프트웨어를 개발하기 위해서는 분석단계에서 정의된 객체모델의 요소들이 구현단계에서 코드에 정확하게 반영이 될 수 있어야 한다. 그러나 아직까지는 객체지향 언어들이 객체모델이 가지고 있는 모델링 요소인 객체들간의 관련성에 대해 직접적인 구현을 지원하지 못하고 있다. 이러한 관련성의 구현에 대한 지침이 제공되지 않기 때문에 많은 개발자들은 각자 일정하지 않은 형태의 코드를 생성하고 있다. 본 노문에서는 이러한 관련성의 구현에 대해 개발자들에게 일정한 지침을 제공하고 객체모델에 작성된 관련성에 관한 코드를 제공하는 코드생성기를 구현하였고 개발자들은 이 코드생성기를 이용하여 관련성에 대해 일관성 있는 코드를 생성할 수 있게 된다. 특히, 관련성 가운데 집합관계의 경우는 연결관계의 형태로 바꾸어서 코드로 변환하는 방법을 사용하였다.

Design and Implementation of Java Bytecode Translator usin Pattern Matching Technique (패턴 매칭 기법을 이용한 자바 바이트코드 변환기의 설계 및 구현)

  • Ko, Kwang-Man
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.39 no.4
    • /
    • pp.1-9
    • /
    • 2002
  • The various researches are investigated for translating Bytecode into native code which can be implemented in the specific processor using classical compiling methods to improve the execution speed of the Java application programs. The code generation techniques using pattern matching can generate more high-quality machine code than code expansion techniques. We provide, in this research, the standardized pattern describing methods and pattern matching techniques that can be used to generate the register-based intermediate code which is for the effective native code generation from Bytecode. And we designed and realized the intermediate code translator with which we can generate the high-quality register-based intermediate code using standardized pattern described formerly.