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

Search Result 369, Processing Time 0.023 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

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

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.

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

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

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코드를 생성한다.

Implementation of the CFG generator for the analysis from The stack-based codes (스택-기반 코드로부터 분석을 위한 CFG 생성기의 구현)

  • Kim, Young-Kook;Yoo, Weon-Hee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.433-435
    • /
    • 2005
  • 자바의 문제점은 실행속도의 저하이다. 바이트코드 최적화 방법을 사용하는 CTOC(Class To Optimized Classes)에서 중간코드로 사용하는 3-주소 코드를 스택-기반 코드로 코드 확장 기법으로 변환 시 불필요한 코드가 생성된다. 이러한 불필요한 코드를 제거하기 위한 정보를 필요로 한다. 필요한 정보를 얻기 위한 분석기로 CFG생성기를 설계 및 구현한다.

  • PDF

Modeling of Real-Time System for TMO-Based Automatic Code Generator (TMO기반의 코드 자동 생성기 설계를 위한 실시간 시스템 모델링의 기법)

  • Seok, Mi-Heui;Shin, Young-Sul;Ryu, Ho-Dong;Lee, Woo-Jin
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.136-139
    • /
    • 2010
  • 실시간 시스템에서는 계산 결과의 논리적 정확성과 결과가 산출되는 시간의 정확성을 요구한다. 이러한 요구사항을 지원하기 위해 UCI Dream Lab에서 제안한 적시 서비스 능력을 보장하는 실시간 객체인 TMO 객체를 토대로 자동 코드 생성기의 설계를 제시한다. 기존의 모델 기반 개발방법론은 시스템을 추상화하고 그 모델을 상세화 과정을 거쳐 구현에 필요한 정보를 갖게 되고, 이를 바탕으로 자동으로 코드를 생성 할 수 있게 된다. 기존의 도구들은 표준 UML을 사용하고, 표준 UML은 시간 제약 조건을 기술하는 방법을 제공하지 않기 때문에 이에 따라 개발된 실시간 시스템 코드 자동 생성기는 완전한 코드를 생성하지 못한다. 본 논문에서는 실시간 시스템 개발에 모델 기반 개발방법론을 적용하기 위해 TMO객체를 이용하여 기존 UML 모델의 구조 모델과 행위 모델에 실시간 특성을 추가해 확장하고 확장된 모델을 토대로 자동 코드 생성기의 설계를 제안한다.

  • PDF

A Development of Model Based Automatic Code Generation (모델 기반 자동코드 생성기 개발)

  • Lee, Jeong-Woo;Choi, Kyung-Hee;Jung, Ki-Hyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.04a
    • /
    • pp.918-921
    • /
    • 2010
  • 본 연구에서는 Simulink Model(이하 Model)을 C Code 로 변환시켜주는 자동 코드 생성기, SimAutoCodeGenerator 를 제안하였다. Model 의 테스트케이스를 생성하기 위한 작업에서 반복적인 프로그램의 실행을 통한 테스터와의 다양한 피드백이 필요하다. 이때, Simulink는 이런 작업을 하는 데 있어서 적절한 정보를 제공하기 어려울 뿐만 아니라 테스트 케이스를 생성하는데 필요한, 실행 시 특정 시점으로 돌아가는 기능을 수행하기 위해서는 프로그램을 정지한 후 다시 실행해야하는 문제점을 가지고 있다. 본 연구에서는 이와같은 단점을 보완하기 위하여 Model 을 C 코드로 변환하였다. 생성된 C 코드는 Model 과의 일치성을 증명한 후 자동 테스트케이스 생성을 위한 프로그램에 쓰이게 될 것이다. 먼저 C 코드의 생성 메커니즘을 알아보고 생성된 C 코드와 Model 의 일치성을 증명하였다.