• Title/Summary/Keyword: 컴파일언어

Search Result 71, Processing Time 0.034 seconds

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

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

  • PDF

Compiling Haskell to Java via an Intermediate Code L (중간언어 L-코드를 이용한 Haskell-Java 언어 번역기 구현)

  • Choi, Kwang-Hoon;Han, Tai-Sook
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.12
    • /
    • pp.955-965
    • /
    • 2001
  • We propose a systematic method of compiling Haskell based on the spineless Tagless G-machine (STGM) for the Java, Virtual Machine (JVM) We introduce an intermediate language called L-code to identify each micro-operation of the machine by its instruction, Each macro operation of the machine is identified by a binding Each instruction of the L-code can be easily translated into Java statements. After our determination on representation and L-code program from a STG program is translated into Java program according to out compilation rules. Our experiment shows that the execution times of translated benchmarks are competitive compared with those in Haskell interpreter Hugs, particularly when Glasgow Haskell compiler's STG -level optimizations are applied.

  • PDF

A Study on Translation of C# MSIL Code into Oolong Code for Embedded Systems (임베디드 시스템을 위한 C# MSIL 코드의 Oolong 코드 번역에 관한 연구)

  • Che, Sung-Kyou;Jung, Ji-Hoon;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.05b
    • /
    • pp.983-986
    • /
    • 2003
  • 마이크로소프트사는 .NET 플랫폼을 개발하면서 C/C++의 강력함과 자바나 비주얼 베이직의 높은 생산성을 매우 효과적으로 결합한 프로피래밍 언어인 C#을 만들었다. C#은 컴파일 과정을 거치며 자바의 바이트 코드와 같은 중간 언어인 MSIL 코드를 갖는 파일을 출력하게 되는데, C# 이외에도 모든 .NET 언어들은 컴파일과정을 거치면서 MSIL 코드를 얻기 때문에 여러 .NET 언어들을 이용해서 하나의 응용 프로그램을 만들 수 있다. 썬 마이크로시스템즈사의 자바는 현재 가장 널리 사용되는 프로그래밍 언어 중 하나이며, 컴파일러에 의해 플랫폼에 독립적인 바이트 코드를 바이너리 형태로 가지고 있는 클래스 파일을 생성하면 JVM에 의해 운영체제와 하드웨어에 독립적으로 수행이 가능한 차세대 언어이다. 본 논문에서는 임베디드 시스템에서의 적용을 위해 C#을 컴파일 하여 나오는 중간 언어 형태인 MSIL 코드를 자바의 중간언어의 한 종류인 Oolong 코드로 변환해 줌으로서 C#으로 구현된 프로그램이 자바 플랫폼에서 JVM에 의해 실행되도록 하는 MSIL-to-Oolong 번역기 시스템 구현하였다.

  • PDF

Design of Translator for Efficient Stack Based Codes from 3-Address Codes in CTOC (CTOC에서 3주소 코드를 효율적인 스택 기반 코드로의 변환기 설계)

  • 김영국;김기태;조선문;김웅식;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.766-768
    • /
    • 2004
  • 자바는 객체 지향 언어이고, 분산 환경을 지원하고, 플랫폼에 독립적인 장정을 갖지만 다른 C나 C++같은 컴파일언어에 비해서는 실행속도가 느리다는 단점을 가진다. 이러한 단점을 극복하기 위한 방법으로 네이티브 코드로의 변환, 코드 최적화, JIT 컴파일 방법 등을 이용한다. 그러나 이전 방법들은 다음과 같은 한계점을 가진다. 클래스 파일을 네이티브 코드로의 변환은 플랫폼의 종속되고, 코드 최적화 방법은 고유의 최적화 방법만을 적용할 수 있었고, JIT컴파일 방법은 한 번의 실행 후 다음 실행해야 속도향상을 꾀할 수 있었다. 본 논문은 바이트 코드를 최적화하기 위한 자바최적화 프레임워크를 설명하고 자바최적화 프레임워크의 구성을 하는 부분 중 3주소형식의 중간코드를 스택기반 코드로 변환하는 부분을 설계하고. 3주소 코드로 변환한 중간 코드를 스택 기반 코드로 변환하면서 생기는 과다한 load/store의 문제점을 지적하고 그것을 해결할 수 있는 변환기를 제안한다.

  • PDF

A Study on Distributed System for Remote Compile Service (원격 컴파일 서비스를 위한 분산 시스템에 관한 연구)

  • Ku, Min-O;Cho, Na-Yun;Min, Dug-Ki
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.341-346
    • /
    • 2010
  • 컴파일러 설치 및 환경정보 설정과 같은 일련의 컴파일러 설정과정은 개발환경 구성과정 중 중요한 과정이며, 집단 개발환경에서의 개발환경 동일화 과정은 많은 비용을 초래할 수 있게 된다. 더욱이 개발 초급자 또는 공학교육 학습자에게는 앞서 언급한 개발환경 구성과정이 개발언어에 대한 학습과정의 진입장벽으로 작용할 수 있다. 뿐만 아니라, 다양한 개발언어에 대한 학습을 이루고자할 경우, 이에 수반되는 다양한 컴파일러 확보 설정 등의 과정은 개발 시스템과 컴파일 시스템이 일치함에 따라 환경구성의 복잡도가 증가하게 된다. 따라서 본 논문에서는 컴파일 환경을 구성한 분산 시스템을 기반으로 원격 컴파일 서비스를 제공하는 분산 시스템 아키텍처를 제시하며 이에 대한 구현 사항을 제공한다. 특히 브로커 아키텍처를 기반으로 한 분산 시스템 상에서 처리 시스템들에 빈번히 발생할 수 있는 고장 상황에 대해 고가용성(High Availability)을 달성하기 위해 처리 시스템간의 가용 여부를 관리하는 Coordinator 처리 시스템 선출을 위해 선출 알고리즘으로 Bully 알고리즘을 적용하였다.

  • PDF

Design and Implementation of the ETRI CHILL-96 Compiler (ETRI CHILL - 96 컴파일러의 설계와 구현)

  • Kim, Sang-Eun;Lee, Joon-Kyung;Lee, Dong-Gill
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.6 no.3
    • /
    • pp.329-338
    • /
    • 2000
  • CHILL language has been used for the software development of electronic switching and telecommunications system. ETRI CHILL-96 language is an extended CHILL language with the notions of object-orientation, concurrency, and generic type. In this paper, we discuss some design and implementation issues of ETRI CHILL-96 compiler. Renaming translation rules and function restructuring techniques are adapted for the purpose of preventing name conflict and producing debugging information. Those new extended features are preprocessed in the compilation and translated to extended CHILL intermediate codes. Such compilation technique enables ETRI CHILL-96 language to hold compatibility with software developed by CHILL language.

  • PDF

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

  • Lee, Yang-Sun;Whang, Dae-Hoon;Na, Seung-Won
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.7
    • /
    • pp.976-984
    • /
    • 2004
  • 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. 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. This paper presents the MSIL-to-Bytecode intermediate language translator which enables the execution of the program written in .NET language such as C or C# in JVM(Java Virtual Machine) environment, translating MSIL code produced by compiling .NET program into java bytecode. This work provides an environment for programmers to develop application programs without limitations of programming languages.

  • PDF

Collaborative Attributes of a Visual Language (시각언어의 공동작업 속성)

  • Kim, Kyung-Deok
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.04a
    • /
    • pp.171-174
    • /
    • 2000
  • 본 논문에서는 공동작업을 지원하기 위한 시각언어를 제안하고 생성되는 시각문장에서 공동작업을 위한 속성과 컴파일 방법을 설명한다. 생성되는 시각문장은 객체 아이콘과 연산자로 구성되며, 각각은 공동작업 참여자와 참여자간 상호작용 시점에 따른 공동작업 관계를 의미한다. 생성되는 시각 문장은 객체 아이콘과 연산자의 결합 관계에 따라 다양한 공동작업을 지원한다. 또한, 동기 및 비동기 공동작업을 함께 표현함으로써 기존 공동작업을 위한 시각언어보다 효율적으로 공동작업을 지원한다.

  • PDF

Development of a High Performance Ocean Model using Julia Language (줄리아 언어를 이용한 고성능 해양모델의 개발)

  • KWON, MIN-SUN;KIM, JONG GU
    • The Sea:JOURNAL OF THE KOREAN SOCIETY OF OCEANOGRAPHY
    • /
    • v.24 no.2
    • /
    • pp.187-207
    • /
    • 2019
  • In order to develop a high performance ocean model, we used Julia, a Just-In-Time compile language, and to obtain the solution of the momentum equation, we made the code to solve the Poisson equation by the Successive Over-Relaxation method. And then we made two models to test Julia calculation codes. First, a simple channel form is modeled to test constant source/sink conditions. Second, the simplified Yellow Sea was modeled to test tidal forcing, Coriolis forces, and the effect of vertical eddy diffusivity coefficients. The model has been tested with a total of eight cases in the two scenarios. As a result of the test, the depth-averaged current speed of the three cases in Scenario 1 converged perfectly to the theoretical value, and that showed well a vertical flow velocity gradient due to the bottom friction. Also, the result of Scenario 2 represented well the amphidromic points of Yellow Sea and the tidal characteristics of mid-western and southwestern coast of Korea. Therefore, it is considered that the ocean model using Julia language has developed successfully, this suggests that the ocean model has come to the stage of successful transition from a classical compile language to a Just-In-Time compile language.

A Study on Translating Control Languages into Java Languages for Heterogeneous Computing Environment (이 기종 컴퓨터 환경을 위한 제어 언어의 자바 언어 변환에 관한 연구)

  • 은준석;정대교;김석찬;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1998.10b
    • /
    • pp.428-430
    • /
    • 1998
  • 기존 제어 시스템을 위한 언어들은 기기에 따라서 많은 차이가 있어 호환성에 문제가 있었고 구문 자체가 제어기기 중심으로서 조건, 제어문 작성이 어려워서 일l반 프로그래밍 언어에 익숙한 사람은 프로그래밍하기에 어려운 점이 많았다. 본 논문에서는 제어 언어들이 다양한 하드웨어 기종에서 사용이 가능하도록 객체 지향 프로그래밍 언어인 자바로 변화하는 과정을 다룬다. 제안한 자바 프로그램은 기기의 제어 목적의 퍼스널(Personal) 자바나 임베디드(Enbedded) 자바와 달리 표준적인 자바를 사용하기 때문에 제어 시스템에서 뿐 아니라 모든 대상의 하드웨어에서 사용이 가능하며 사용자는 각 시스템에 맞는 언어를 배울 필요가 없고 확장성도 뛰어나다. 단 자바는 기존 컴파일 언어보다 느리고 네트워크상의 과부하 대처 능력이 부족하여 발생하는 문제점이 있었는데 그 해결방안으로 시간 제약 구문을 제시하여 자바의 제어 시스템 활용능력을 높인다.