• 제목/요약/키워드: 코드생성기

검색결과 367건 처리시간 0.029초

DFA 패턴 매칭을 위한 코드 최적화기의 자동적 생성 (Automatic Generation of Code Optimizer for DFA Pattern Matching)

  • 윤성림;오세만
    • 정보처리학회논문지A
    • /
    • 제14A권1호
    • /
    • pp.31-38
    • /
    • 2007
  • 주어진 입력 프로그램과 의미적으로 동등하면서 좀 더 효율적인 코드로 바꾸는 것을 코드 최적화라 하며, 이런 과정은 코드 최적화기예 의해 수행된다. 본 논문에서는 코드 최적화기를 자동적으로 생성하는 도구인 코트 최적화긴 생성기를 설계하고 구현하였다. 즉 패턴 형식에 대한 표현을 입력으로 받아 기술된 형태의 최적화 코드를 찾아내는 DFA 패턴 매칭을 위한 코드 최적화기를 자동적으로 생성하는 것이다. DFA 패턴 매칭은 패턴들의 정규화 과정을 통해 패턴 검색 시 발생하는 중복 비교를 제거하여, 패턴 형태의 단순화 및 구조를 개선함으로 비용이 적게든다. DFA 패턴 매칭을 위한 코드 최적화기의 자동적 생성은 다양한 형태의 중간코드로 바뀌더라도 해당하는 코트 최적화기를 만들어야 하는 수고를 덜어줌으로써 코드 최적화에 대한 정형화(formalism)를 할 수 있다. 또한, DFA로 구성되어 최적화를 하기 때문에 최적화 속도가 빠르고, 코드 최적화기를 만드는데 필요한 시간과 비용을 절약할 수 있는 장점을 가진다.

DML(Diagram Markup Language)시스템의 설계 및 구현 (The Design and Implementation of DML System)

  • 최종명;윤태희;신경희;유재우
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (B)
    • /
    • pp.448-450
    • /
    • 2001
  • 컴퓨팅 환경에서 GUI의 사용이 일반화되면서 다이어그램을 이용한 시스템이 많아지고 있는데 비해, 다이어그램을 이용하는 시스템을 개발하기 위해서는 많은 노력과 시간을 필요로 한다. 이것을 다이어그램의 각 그래픽 컴포넌트를 프로그램으로 개발하여야 하는 문제 때문이다. 이러한 문제를 해결하기 위해서 본 논문에서는 그래픽 편집기를 이용해서 다이어그램 컴포넌트를 기술하고, 이것을 XML 문서로 변환해서, 최종적으로 프로그래밍 코드를 자동적으로 생성하는 DML 시스템을 소개한다. 이 시스템은 다이어그램 컴포넌트를 그래픽 편집기를 이용하여 기술하기 때문에 쉽게 새로운 컴포넌트를 생성할 수 있으며, 생성된 컴포넌트는 XML 문서로 표현되고, 코드 생성기를 통해 프로그래밍 코들 변환되기 문에 프로그래밍 언어에 무관한 장점을 가지고 있다.가지고 있다.

  • PDF

빈 인트로스펙션 메커니즘을 이용한 자바 소스 코드 생성기 구현 (An Implementation of Java Source Code Generator using Bean Introspection Mechanism)

  • 손승우;김창갑;김흥남
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.391-393
    • /
    • 1999
  • 자바빈 컴포넌트를 이용한 RAD 개발 도구들은 일반적으로 자바빈 컴포넌트를 시각적으로 배치하고, 속성 및 이벤트를 편집할 수 있는 개발 환경을 제공한다. RAD 개발 도구들은 배치된 컴포넌트에 대한 속성과 이벤트를 편집할 수 있는데 특히 이벤트는 개발자의 응용 논리가 포함된 부분으로 완전한 시각화를 통한 구현이 어렵다. 본 논문에서는 자바빈 컴포넌트 기반 개발 환경에서 자바 언어의 인트로스팩션(Introspection) 메커니즘을 이용한 자바 소스 코드 생성 기법을 제시한다. 자바 소스 코드의 생성은 태그로 표시된 템플릿 코드의 생성과 자바의 위임 이벤트 모델을 이용한 이벤트 처리 코드를 생성하여 템플릿 코드에 합성하는 방법을 따른다. 본 논문에서 제시하는 기법은 인트로스펙션에 의해 추출된 정보를 개발자에게 시각적으로 보여주며 개발자의 시각적 조작에 따라 이벤트에 대한 소스코드를 자동으로 생성해준다.

  • PDF

트리패턴매칭기법의 재목적 가능한 중간코드 최적화 시스템 (Retargetable Intermediate Code Optimization System Using Tree Pattern Matching Techniques)

  • 김정숙;오세만
    • 한국정보처리학회논문지
    • /
    • 제6권8호
    • /
    • pp.2253-2261
    • /
    • 1999
  • ACK에서는 패턴 테이블 생성기와 핍홀 최적화기에서 스트링 패턴 매칭 기법을 이용하여 EM 중간 코드에 대한 최적화 코드를 생성한다. 하지만 이 스트링 패턴 매칭 방법은 패턴 결정 시에 반복적으로 많은 비교 동작이 이루어지므로 비효율적이다. 본 논문은 ACK의 중간 코드 최적화기를 개선하기 위해 EM 트리 생성기, 최적화 패턴 테이블 생성기, 트리 패턴 매칭기로 구성된 트리 패턴 매칭 알고리즘을 이용한 EM 중간 코드 최적화 시스템을 설계하고 구현하였다. 이러한 트리 패턴 매칭 알고리즘은 EM 트리를 하향식으로 순회하면서 트리 구조를 가진 패턴 테이블을 참조하여 루트 노드를 중심으로 패턴 매칭을 수행한다. 트리 패턴 매칭 동작은 궁극적으로 ACK의 스트링 패턴 매칭에 비해 최적화 패턴을 찾는데 걸리는 시간을 평균 10.8% 감소시킬 수 있는 효과를 보였다.

  • PDF

순환공학 환경을 위한 ATM 명세 코드 변환기 설계 및 구현 (Design and Implementation of ATM Specification Code Converter for Software Round-Trip Engineering Environment)

  • 고현;조상규;이연식
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.607-609
    • /
    • 2001
  • 본 논문은 ATM(Abstract Time Machine)으로 명세된 실시간 시스템에 대한 재/역공학 측면에서의 검증을 위한 Ada 코드로의 변환 과정에서 요구되는 DoME/ATM 파스트리 생성과정과 이를 통해 추출되는 정보를 이용하여 ATM을 SRL/ATM으로의 변환방법을 설계 구현한다. 임무 위급 시스템 같은 실시간 시스템을 명세, 분석, 검증하기 위한 정형기법인 ATM은 순환공학에서의 실시간 시스템 속성은 물론 특정 환경과 동적 정보 등을 명세하기 위한 정형기법이다. 본 논문에서는 DoME을 이용하여 실시간 시스템에서의 특정 요구사항에 대한 DoME/ATM을 생성하고, DoME의 기능을 이용하여 ATM을 스크립트 코드로 저장한 후, DoME/ATM 파스트리 생성기를 통해 명세 정보를 추출하여 SRL/ATM으로의 변환기를 설계 구현한다. 변환기에 의해 생성된 매개언어인 SRL은 명시적인 정의와 효율적 분석 정보를 제공함으로써 Ada, COBOL, C 등과 같은 실행코드를 생성할 수 있도록 하는 기반을 제공한다.

  • PDF

Java ORB 시스템을 위한 IDL-to-Java 컴파일러 개발 (An IDL-to-Java Compiler for Java ORB System)

  • 이진호;이근영;정태명
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.2154-2163
    • /
    • 1998
  • 복잡한 분산 시스템 상에서 운용되는 소프트웨어들을 위해서 안정된 하부구조인 동시에 소프트웨어 아키텍쳐인 OMG의 CORBA는 효율적인 객체 지향 개발 환경을 제공한다. 인터넷, 개인용 컴퓨터, WWW의 사용 증가로 인해 이기종의 분산 시스템들 상에서 구동될 수 있는 응용프로그램들이 요구되고 있으며 이와 같은 이기종간의 이식성을 충족시키기 위해서 Java ORB에 대한 필요성이 증가되고 있는 추세이다. 본 논문에서는 IDL을 자바로 사상하는 규약을 분석하며 자바로 구현된 CORBA 시스템을 지원하기 위한 IDL-to-Java 컴파일러를 구현하였다. 구현된 컴파일러는 어휘 분석기, 파서, 목적 코드 생성기로 나누어지며 목적 코드 생성기에서는 IDL에서 자바로 사상된 파일들 이외에 투명성을 제공하게 되는 클라이언트 스텁 코드와 객체 구현 스켈레톤 코드를 생성한다.

  • PDF

XHTML 코드 생성기의 설계와 구현 (Design and Implementation of XHTML Code Generator)

  • 계승철;전서현
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2001년도 추계학술발표논문집
    • /
    • pp.24-29
    • /
    • 2001
  • XHTML은 HTML의 요소와 XML의 문법을 가진 마크업 언어이다. XML과 HTML의 장점을 결합하여 발표되었으며, HTML에서 XML로 가는 중간단계로, HTML을 대체할 언어로, 또는 유무선 통합을 위한 마크업 언어로 보고 있다. XHTML 언어를 이용하기 위해 텍스트나 기존에 널리 쓰이고 있는 HTML을 규칙에 맞는 HTML로 바꾸고, 간단한 조작으로 쉽게 XHTML로 바꿀 수 있도록 하는 XHTML 코드 생성기를 설계·구현하였다.

  • PDF

UML 클래스 다이어그램 기반의 효율적인 C++코드 생성기의 설계와 구현 (Design and Implementation of an Efficient C++ Code Generator based on UML Class Diagram)

  • 조형주;정진완;김형주
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제6권4호
    • /
    • pp.393-402
    • /
    • 2000
  • UML은 OMG에 의해서 표준 객체지향 모델링 언어로 승인 받았다. 그러나, UML을 지원하는 몇몇의 CASE 도구들이 생성한 C++ 코드는 1대 n 관계나 aggregation 관계의 의미를 정확히 반영하지 못하고 있다. 또한, 상용 CASE 도구들이 하나의 UML 클래스 다이어그램에서 너무 많은 프로그래밍 언어를 지원하기 때문에, 그들은 C++언어가 가지는 특징을 효율적으로 지원하지 못하고 있다. 제안된 C++코드 생성기는 1대 n의 관계, aggregation 관계, 코드 패턴(code pattern), 디자인 패턴(design pattern)을 지원한다.본 논문에서는 UML 클래스 다이어그램 기반의 효율적인 C++ 코드 생성기의 설계와 구현에 대하여 기술한다.

  • PDF

서버측 애플리케이션 개발을 위한 EJB 지원 엔터프라이즈 빈즈 생성기/전개기의 설계 및 구현 (Design and Implementation of Enterprise Beans Generator/ Depolyer supporting EJB for Server-Side Application Development)

  • 노혜민;이상영;김송주;유철중;장옥배;이우진;신규상
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제7권5호
    • /
    • pp.429-439
    • /
    • 2001
  • J2EE(Java$^{TM}$ 2 Platform, Enterprise Edition) 플랫폼의 핵심기술인 EJB(Enterprise JavaBeans)는 서버 측 컴포넌트 표준 모델이다. 최근 들어 점차 이를 지원하는 도구의 중요성이 대두되고 있고 EJB만을 전문적으로 개발하는 도구들도 선보이고 있는 추세에 있다. 본 논문에서는 EJB 서버 내에서 사용되는 엔터프라이즈 빈즈(Enterprise Beans)를 컴포넌트 모델로 설계하고 설계된 내용을 임포트(import)하여 골격 코드 수준으로 엔터프라이즈 빈즈 코드를 자동 생성하는 코드 생성기(code generator)와 이를 애플리케이션 서버에 전개하는 EJB 전개기(EJB deployer)를 설계하고 구현한다. 코드 생성기는 JAR 파일을 자동으로 생성해 주는 기능을 가지고 있다. 생성된 JAR 파일은 EJB 전개기를 통해 EJB 애플리케이션 서버에 전개되어 클라이언트가 사용할 수 있게 지원한다. 또한 본 도구는 EJB 스펙에 따라 개발된 EJB 서버와 컨테이너를 지원한다. 본 도구를 활용하면 보다 빠르고 정확하게 엔터프라이즈 빈즈를 생성하고 전개할 수 있다.

  • PDF

바이트코드로부터 코드 확장 기법을 이용한 중간 언어 변환개의 설계 및 구현 (Design and Implementation of Intermediate Language Translator using Code Expansion Technique from Bytecode)

  • 고광만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.334-336
    • /
    • 2002
  • 자바 프로그래밍 언어는 웹 브라우저에서 실행되는 작은 크기의 응용 프로그램 수행에서는 실행 속도문제가 중요한 요소가 아니지만 대형 프로그램의 수행에서는 실행 속도가 현저히 저하되는 단점을 지니고있다. 이러한 문제점을 개선하기 위해 전통적인 컴파일 방법을 사용하여 바이트코드를 특정 프로세서에 적합한 목적기계 코드로 변환하는 다양만 연구가 진행중이다. ; 연구에서도 자바 응용 프로그램의 실행 속도의 개선을 위해 바이트코드로부터 직접 i386 코드를 생성하는 네이티브 코드 생성 시스템을 위한 중간 언어 변환기를 설계하고 구현한다. 중간 언어 변환기는 자바 언어의 중간 언어인 *.class 파일을 입력으로 받아 레지스터 기반의 중간 언어로 변환한다. 변환한다.

  • PDF