• 제목/요약/키워드: Intermediate Language Translator

검색결과 18건 처리시간 0.021초

Intermediate Language Translator for Execution of Java Programs in .NET Platform

  • Lee, Yang-Sun;Na, Seung-Won;Hwang, Dae-Hoon
    • 한국멀티미디어학회논문지
    • /
    • 제7권6호
    • /
    • pp.824-831
    • /
    • 2004
  • This paper presents the java bytecode-to-.NET MSIL intermediate language translator which enables the execution of the java program in .NET environments without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into MSIL codes. Java, one of the most widely used programming languages recently, is the language invented by James Gosling at Sun Microsystems, which is the next generation language independent of operating systems and hardware platforms. Java source code is compiled into bytecode as intermediate code independent of each platform by compiler, and also executed by JVM. .NET language such as C# and .NET platform in Microsoft Corp. has been developed to meet the needs of programmers, and cope with Java and JVM platform of Sun Microsystems. After compiling, a program written in .NET language is converted to MSIL code, and also executed by .NET platform but not in JVM platform. For this reason, we designed and implemented the java bytecode-to-.NET MSIL translator system for programs written in java language to be executed in the. NET platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides a environment for programmers to develop application programs without limitations of programming languages.

  • PDF

Translation Java Bytecode to EVM SIL Code for Embedded Virtual Machines

  • Lee, Yang-Sun;Park, Jin-Ki
    • 한국멀티미디어학회논문지
    • /
    • 제8권12호
    • /
    • pp.1658-1668
    • /
    • 2005
  • This paper presents the bytecode-to-SIL translator which enables the execution of the java program in EVM(Embedded Virtual Machine) environment without JVM(java Virtual Machine), translating bytecodes produced by compiling java programs into SIL(Standard Intermediate Language) codes. EVM, what we are now developing, is a virtual machine solution that can download and execute dynamic application programs written in sequential languages like C language as well as object oriented languages such as C#, Java, etc. EVM is a virtual machine mounted on embedded systems such as mobile device, set-top box, or digital TV, and converts the application program into SIL, an assembly language symbolic form, and execute it. SIL is a virtual machine code for embedded systems, based on the analysis of existing virtual machine codes such as bytecode, MSIL, etc. SIL has such features as to accommodate various programming languages, and in particularly has an operation code set to accept both object-oriented languages and sequential languages. After compiling, a program written in java language is converted to bytecode, and also executed by JVM platform but not in other platform such as .NET, EVM platform. For this reason, we designed and implemented the bytecode-to-SIL translator system for programs written in java language to be executed in the EVM platform without JVM. This work improves the execution speed of programs, enhances the productivity, and provides an environment for programmers to execute application programs at various platforms.

  • PDF

임베디드 시스템을 위한 가상기계의 설계 및 구현 (Design and Implementation of a Virtual Machine for Embedded Systems)

  • 오세만;고광만;이양선
    • 한국멀티미디어학회논문지
    • /
    • 제8권9호
    • /
    • pp.1282-1291
    • /
    • 2005
  • 본 논문에서는 모바일 디바이스(휴대폰, PDA), 셋톱박스, 디지털 TV 등의 임베디드 시스템에 탑재되어 수많은 동적 애플리케이션을 다운로드하여 실행할 수 있는 임베디드 가상기계(Embedded Virtual Machine)를 설계하고 구현하였다. 이를 위해 표준 중간 언어인 SIL(Standard Intermediate Language)을 정의하고, 자바와 .NET 언어로 구현된 프로그램이 EVM에서 실행될 수 있도록 SIL-코드로 번역해 주는 MSIL-to-SIL 번역기와 Bytecode-to-SIL 번역기를 구현하였다. 또한, SIL 코드를 EVM의 실행파일인 *.evm으로 변환해주는 어셈블러인 EFF 빌더를 개발하였으며, EFF 빌더가 생성한 *.evm 파일을 입력으로 받아 실행하는 가상기계(EVM)를 구현하였다. 본 연구에서 구현한 가상기계는 플랫폼이 변경되더라도 컨텐츠의 수정없이 실행할 수 있는 소프트웨어 기술이다. 실제로, 제안된 가상기계는 기존에 존재하는 가상기계들의 표준화 모델로 사용될 수 있을 뿐만 아니라 모바일 디바이스, 디지털 TV, 셋톱박스 등과 같은 임베디드 시스템에 내장되어 응용프로그램을 효율적으로 실행시켜 줄 수 있다.

  • PDF

바이트코드로부터 네이티브 코드 생성을 위한 중간 코드 변환기의 설계 및 구현 (Design and Implementation of Intermediate Code Translator for Native Code Generation from Bytecode)

  • 고광만
    • 한국멀티미디어학회논문지
    • /
    • 제5권3호
    • /
    • pp.342-350
    • /
    • 2002
  • 자바 프로그래밍 언어는 웹 브라우저에서 실행되는 작은 크기의 응용 프로그램 수행에서는 실행 속도 문제가 중요한 요소가 아니지만 대형 프로그램의 수행에서는 실행 속도가 현저히 저하되는 단점을 지니고 있다. 이러한 문제점을 해결하기 위해 전통적인 컴파일 방법을 사용하여 바이트코드를 특정 프로세서에서 수행될 수 있는 목적기계 코드로 변환하는 다양한 연구가 진행중이다. 본 연구에서도 자바 응용 프로그램의 실행 속도의 개선을 위해 바이트코드로부터 직접 i386코드를 생성하는 네이티브 코드 생성 시스템을 위한 중간 코드 변환기를 설계하고 구현한다. 중간 코드 변환기는 자바 언어 의 중간 코드인 *.class 파일을 입력으로 받아 레지스터 기반의 중간 코드로 변환한다.

  • PDF

JVM 플랫폼에서 .NET 프로그램을 실행하기 위한 MSIL-to-Bytecode 번역기의 설계 및 구현 (Design and Implementation of the MSIL-to-Bytecode Translator to Execute .NET Programs in JVM Platform)

  • 이양선;황대훈;나승원
    • 한국멀티미디어학회논문지
    • /
    • 제7권7호
    • /
    • pp.976-984
    • /
    • 2004
  • 마이크로소프트사는 .NET 플랫폼을 개발하면서 자바 언어에 대응하기 위해 C# 프로그래밍 언어를 만들었다. C#과 같은 .NET 언어로 작성된 프로그램은 컴파일 과정을 거치면서 MSIL 코드를 출력하기 때문에 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서는 실행이 되지 않는다. 자바는 썬 마이크로시스템즈사가 개발한 언어로서 현재 가장 널리 사용되는 프로그래밍 언어 중 하나이며, 컴파일러에 의해 플랫폼에 독립적인 바이트코드를 바이너리 형태로 가지고 있는 클래스 파일을 생성하면 JVM에 의해 하드웨어나 운영체제에 상관없이 실행이 가능한 플랫폼 독립적인 언어이다. 본 논문에서는 .NET 언어로 작성된 프로그램을 컴파일 하여 생성된 MSIL 코드를 자바의 중간 언어인 바이트코드 코드로 변환해 줌으로서 .NET 언어로 구현된 프로그램이 .NET 플랫폼 없이 자바의 플랫폼인 JVM에 의해 실행되도록 하는 MSIL-to-Bytecode 번역기를 설계하고 구현하였다. 이와 같은 작업이 프로그래머로 하여금 프로그래밍 언어의 제약 없이 응용 프로그램을 개발할 수 있는 환경을 제공한다.

  • PDF

게이트 레벨 디지털 회로의 기술방법 및 시뮬레이션 (A Description Technique and It's Simulation of Gate Level Digital Circuits)

  • 권승학;이명호
    • 한국컴퓨터정보학회논문지
    • /
    • 제4권4호
    • /
    • pp.57-68
    • /
    • 1999
  • 본 논문은 게이트 레벨 디지털 시스템의 동작기술과 그 동작결과를 검증 할 수 있는 시뮬레이터를 작성하는데 목적을 두고 있다. 기술언어로부터 목적코드를 얻기 위하여 번역기를 구성한 바 이의 구현을 위하여 UNIX의 YACC를 이용하였으며 중간 목적 파일을 번역기와 시뮬레이터의 중간과정으로 삼아 응용범위를 넓힐 수 있도록 하였다. 시뮬레이션 대상으로 전가산기와 3진 계수기를 사용하였다.

  • PDF

자바 언어를 위한 중간 언어 번역기 (Intermediate Language Translator for Jave Language)

  • 정지훈;박진기;이양선
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(하)
    • /
    • pp.537-540
    • /
    • 2003
  • 자바와 .NET 언어는 프로그래머들이 프로그램을 개발하는데 가장 널리 사용되고 있는 언어이다. 프로그래머가 작성한 자바 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성한 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 그러므로 자바 프로그래머는 .NET 플랫폼 환경에 맞추어 프로그래밍하지 못하고, .NET 프로그래머는 JVM 플랫폼 환경에 맞추어 프로그래밍하지 못하는 단점이 있다. 본 논문에서 연구한 Bytecode-to-MSIL 번역기는 위의 단점을 해결한 것이다. 먼저 자바로 작성된 프로그램을 컴파일하여 생성된 클래스 파일(*.class)로부터 Oolong 역어셈블러를 이용하여 Oolong 코드를 추출한다. 추출된 Oolong 코드를 본 논문에서 연구한 Bytecode-to-MSIL 번역기로 .NET의 중간언어인 MSIL 코드로 변환하여 .NET 어셈블러로 실행파일을 만들어 자바 언어로 구현된 프로그램이 .NET 환경에서도 실행될 수 있도록 한다. 따라서, 자바 프로그래머나 .NET 프로그래머는 JVM 이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다.

  • 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

.NET 언어를 위한 중간 언어 번역기 (An Intermediate Language Translator for .NET Languages)

  • 최성규;박진기;이양선
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(하)
    • /
    • pp.533-536
    • /
    • 2003
  • 자바는 썬 마이크로시스템즈사가 개발한 언어로서 현재 가장 널리 사용되는 프로그래밍 언어 중 하나이며, 컴파일러에 의해 플랫폼에 독립적인 바이트코드를 바이너리 형태로 가지고 있는 클래스 파일을 생성하면 JVM에 의해 어떠한 하드웨어나 운영체제에 상관없이 수행이 가능한 플랫폼 독립적인 언어이다. 마이크로소프트사는 .NET 플랫폼을 개발하면서 자바 언어에 대응하기 위해 C# 프로그래밍 언어를 만들었다. C#은 C/C+.의 강력함과 자바나 비주얼 베이직의 높은 생산성을 매우 효과적으로 결합한 프로그래밍 언어이다. C#은 컴파일 과정을 거치면 자바의 바이트코드와 같은 중간 언어인 MSIL코드를 갖는 파일을 출력하게 되는데, C# 이외에도 모든 .NET 언어들은 컴파일과정을 거치면서 MSIL 코드를 얻기 때문에 여러 .NET 언어들을 이용해서 하나의 응용 프로그램을 만들 수 있다. 본 논문에서는 임베디드 시스템에서의 적용을 위해 C#을 컴파일 하여 나오는 중간 언어 형태인 MSIL 코드를 자바의 중간 언어의 한 종류인 Oolong 코드로 변환해 줌으로서 C#으로 구현된 프로그램이 자바 플렛폼에서 JVM에 의해 실행되도록 하는 중간 언어 번역기를 구현하였다.

  • PDF

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

  • 권혁주;김영근;이양선
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2004년도 춘계학술발표대회논문집
    • /
    • 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