• 제목/요약/키워드: 컴파일러

검색결과 455건 처리시간 0.025초

크로스 컴파일러에서의 효율적인 메모리 사용 기법에 대한 연구 (A Study for the Efficient Memory Management in time of using Cross Compiler)

  • 경보현;전승훈
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2003년도 학술회의 논문집 정보 및 제어부문 B
    • /
    • pp.641-644
    • /
    • 2003
  • 본 논문은 RTOS(Real-Time Operation System, 리턴어드레스를 위한 유저스택사용 RTOS가 탑재된 CE(Consumer Electronic)제품상에서 리턴어드레스가 유저스택으로 저장하는 것을 지원하지 않는 컴파일러를 위한 알고리즘이며 실험을 위하여 제안된 알고리즘을 상용 컴파일러에 적용하여 비교해보도록 하겠다. 우선 기존 컴파일러 알고리즘으로는 Task마다 할당된 유저스택영역이 존재하며 Task가 수행중 발생된 리턴어드레스는 즉시 할당된 유저스택으로 저장하는 알고리즘을 갖고있다. 이런 알고리즘으로 인하여 인스트럭션이 수행중 빈번한 메모리 접근(external memory)가 발생한다. 그러나 제안된 알고리즘은 Task 수행중에는 리턴어드레스를 시스템스택(internal memory)에 저장한 후 Task 전환이 발생할 경우 일시에 시스템 스택에 저장된 리턴어드레스를 유저스택으로 이동하게 되므로 Task 수행중에는 시스템 스택만을 접근하므로 task의 수행시간을 단축할 수가 있다. 그리고 실험을 위하여 상용 컴파일러들에 본 알고리즘을 적용하였다. 상용 컴파일러로는 매번 리턴어드레스를 자동으로 Task별 할당된 유저스택에 저장할 수 있도록 지원해주는 TASKING 컴파일러(Altium 사)와 그렇지 않은 KEIL컴파일러(KEIL사)가 있으며 본 알고리즘을 KEIL 컴파일러에 적용하여 실험을 하여 TASKING 컴파일러와 비교한 결과 유저스택을 지원하는 TASKING(Altium사) 컴파일러에서 구현한 CE제품의 Response time이 KEIL 컴파일러에서 구현한 CE제품의 Response time 값이 같게 나왔다. 그러므로 KEIL 컴파일러상에 본 알고리즘을 적용시킬 경우 RTOS가 탑재된 CE제품을 보다 용이하게 구현할 수가 있다.

  • PDF

자바가상기계를 대상으로 하는 지연계산기반 함수형 언어 컴파일러의 설계 및 구현 (Design and Implementation of a Lazy Functinal Language Compiler for Java Virtual Machine)

  • 최광훈;임현일;한태숙
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.326-328
    • /
    • 2000
  • 본 논문에서는 지연계산기반 함수형 언어 프로그램을 받아 Java 프로그램을 목적 코드로 생성하는 컴파일러를 설계하고 구현한다. 이 컴파일러는 제한된 형태의 함수형 언어 Shared Term Graph(STG)를 입력언어로 하는 추상기계 Spineless Tagiess G-Machine (STGM)을 수행 모델로 한다. 본 논문에서는 명령형 언어 L-code를 제안하고 이를 입력언어로 하는 새로운 형태의 STGM인 L-Machine을 제안한다. STG 언어를 L-code로 변환하는 컴파일러와 L-code를 Java로 변환하는 컴파일러를 설계하고 구현함으로써 원하는 컴파일러를 구성한다. 그리고 Glasgow Haskell 컴파일러를 전단부로 하여 지연계산 기반 함수형 언어 Haskell로 작성된 프로그램들을 컴파일하여 STG 프로그램으로 변환한 다음 본 논문에서 구현한 컴파일러로 이를 Java 프로그램으로 변환한다. 변환된 Java 프로그램을 Sun JIT 컴파일러로 컴파일하여 수행한 성능 평가 결과를 제시한다.

  • PDF

자바 컴파일러의 예외 메커니즘 (Exception Mechanism of Java Compiler)

  • 조장우;창병모
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.323-325
    • /
    • 2000
  • 자바 컴파일러의 예외 처리 메커니즘을 기술한다. 자바 컴파일러 방식의 예외 상황 분석은 프로그래머의 선언에 의존하는 프로시져-내 분석이다. 본 논문에서는 자바 컴파일러 반식의 프로시져-내(intraprocedural) 분석과 선언에 의존하지 않는 프로시져-간(interprocedural) 예외 상황 분석기를 개발하고 실제 자바 프로그램에 적용시켜 봄으로서의 자바 컴파일러의 예외 상황 분석의 문제점을 보인다.

  • PDF

컴파일러 개발환경 Edu-IDEC를 이용한 컴파일러 수업모형 개발 (Development of a Compiler Teaching Model Using the Compiler Developing Environment Edu-IDEC)

  • 권정훈;박은경;성우경;김현주;배종민
    • 컴퓨터교육학회논문지
    • /
    • 제16권6호
    • /
    • pp.33-43
    • /
    • 2013
  • 컴파일러와 언어구현 교과목은 컴퓨터과학 교과과정에서 오랫동안 중요한 주제로 인식되어 왔다. 그것은 컴파일러에 관한 지식이 프로그래밍 언어와 시스템을 이해하는 데에 중요한 역할을 할 뿐 아니라, 컴파일러 기술이 많은 응용 영역에서 활용될 수 있기 때문이다. 그러나 제한된 자원과 시간적 제약 때문에 컴파일러 기술을 효과적으로 전달하기 위해서는 많은 노력이 필요하다. 본 논문에서는 교육용 컴파일러 개발환경인 Edu-IDEC을 이용한 컴파일러 수업모형을 제시한다. Edu-IDEC는 로봇 플랫폼에서의 컴파일러 개발환경으로서, 컴파일러 제작도구, 레퍼런스 컴파일러, 구문트리 시각화도구, 목적언어 시각화 도구, 로봇제어기, 그리고 로봇시뮬레이터 등의 기능이 있으며, 이클립스 플러그인 기반으로 동작한다. 그리고 제시된 모형을 실제 수업에 적용하여 그 평가결과를 제시한다.

  • PDF

머쉰 행위기술로부터 Retargetable 컴파일러 생성시스템 구축 (Construction of a Retargetable Compiler Generation System from Machine Behavioral Description)

  • 이성래;황선영
    • 한국통신학회논문지
    • /
    • 제32권5B호
    • /
    • pp.286-294
    • /
    • 2007
  • ASIP 디자인에서 디자인되는 프로세서의 성능을 측정할 수 있는 컴파일러가 요구된다. 머쉰에 맞는 컴파일러 설계는 매우 많은 시간을 요구한다. 본 논문은 MDL 기술로부터 C 컴파일러를 생성하는 시스템을 보인다. MDL을 이용한 컴파일러 생성은 user retargetability와 컴파일러와 프로세서 디자인의 일관성을 유지시켜 준다. 그러나 MDL을 이용한 컴파일러 생성 시스템은 컴파일러와 머쉰 간 의미적 차이를 줄여야 한다. 이러한 문제를 해결하기 위해 제안하는 시스템은 트리 패턴마다 행위정보를 가지는 라이브러리에 머쉰 행위기술을 맵핑한다. 맵핑된 인스트럭션과 레지스터 파일 사용정보를 이용해 제안하는 시스템은 컴파일러 후위부 interface function을 생성한다. 생성된 MIPS R3000와 ARM9 컴파일러가 C로 기술된 어플리케이션 프로그램으로 검증되었다.

객체지향 속성 문법과 SML을 이용한 XML 컴파일러 생성기 (An XML Compiler Generator using Object Oriented Attribute Grammar and SML)

  • 최종명;유재우
    • 정보처리학회논문지A
    • /
    • 제11A권2호
    • /
    • pp.149-158
    • /
    • 2004
  • XML은 데이터와 문서를 표현하기 위한 표준화된 메타언어고서 점차 많은 분야에서 사용되고 있지만, 각 분야에서 XML 문서론 올바르게 처리하기 위해서는 XML 컴파일러를 작성해야 한다. XML 컴파일러를 작성하는 많은 시간과 노력을 필요로 하기 때문에 XML 컴파일러를 자동적으로 생성할 수 있는 방법이 필요해진다. 논문에서는 XML 문서를 의미에 맞게 처리할 수 있는 XML 컴파일러를 자동으로 생성할 수 있는 XCC라는 XML 컴파일러 생성기를 소개한다. XCC는 XML문서의 DTD를 입력으로 받고, XML 원소(element)들 간의 관계를 이용해서 상속과 컴포지션 관계를 갖는 자바 클래스들을 생성한다. XCC는 또한 의미 규칙을 입력으로 받아서 XML 문서를 의미에 맞게 처리하기 위한 XML 컴파일러를 생성한다. XCC는 XML, 컴파일러를 자동적으로 생성함으로써 XML문서 처리를 위한 소프트웨어 개발에서 비용을 절감시킬 수 있다

16-bit CPU용 C 컴파일러 개발 (Development of C Compiler for 16-bit CPU)

  • 정삼진
    • 한국산학기술학회:학술대회논문집
    • /
    • 한국산학기술학회 2009년도 춘계학술발표논문집
    • /
    • pp.439-442
    • /
    • 2009
  • 본 연구는 16 비트 CPU를 위한 새로운 C 컴파일러를 개발하고자 한다. 새로운 ASIC 프로세서가 특정 용도로 설계되었을 때 그 CPU를 위한 새로운 컴파일러의 개발이 필요하다. 공개 소프트웨어인 GNU C 컴파일러를 사용하여 기계 의존 원시 파일들을 수정함으로서 새로운 컴파일러를 개발할 수 있다. 개발된 컴파일러는 단지 기계어에 의해 처리될 수 있는 기능들만 지원할 수 있기 때문에 곱 셈, 나눗셈, 부동소수점 처리등과 같은 기능들을 지원하기 위해서는 더 많은 연구가 필요하다. 완전한 컴파일러가 개발된 후에는 새로운 CPU에서 실행될 수 있는 응용 프로그램의 개발이 필요하다. 본 연구에 의해서 앞으로 개발될 여러 가지 다른 용도의 CPU를 위한 컴파일러들이 쉽게 개발될 수 있을 것이다.

  • PDF

이클립스 기반의 교육용 컴파일러 통합개발환경 (Development of an Eclipse-based IDE for Educational Compilers)

  • 성우경;강현석;배종민
    • 컴퓨터교육학회논문지
    • /
    • 제14권5호
    • /
    • pp.9-18
    • /
    • 2011
  • 컴파일러 교과목에서 수행하는 컴파일러 개발 프로젝트는 많은 경험과 기술을 얻을 수 있다. 그러나 한 학기에 이수하기 부족한 강의 시간과 컴파일러 개발의 높은 난이도 때문에 수업에 어려움을 겪는다. 그리고 컴파일러 목적시스템은 대게 인터프리터로 구현되기 때문에 학생의 흥미를 유도하기도 어렵다. 이에 따라서 컴파일러 교육은 이론 위주의 교육이 되기 쉽다. 이러한 한계를 극복하기 위하여 본 논문에서는 컴파일러의 이론과 실제를 보다 쉽게 습득할 수 있는 통합개발환경을 제시한다. 개발된 통합개발환경에는 마인드스톰 NXT 로봇을 목적시스템으로 하는 레퍼런스 컴파일러와 컴파일러 제작 도구, 목적언어 테스트 도구, 코드생성 시각화 도구가 포함되며 이클립스 플러그인 기반으로 개발되어 편의성과 확장성이 뛰어나다. 개발된 통합개발환경은 학생들이 컴파일러를 보다 쉽게 이해하고 개발할 수 있도록 도와준다.

  • PDF

속성 문법과 XMLSchema를 이용한 XML 컴파일러 생성기 (An SML Compiler Generator Using Attribute Grammar and XMLSchema)

  • 최종명;박호병
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제33권9호
    • /
    • pp.810-821
    • /
    • 2006
  • XML 문서를 위한 컴파일러를 개발하기 위해서는 많은 노력을 필요로 하기 때문에 XML 컴파일러를 자동적으로 생성할 수 있는 방법에 대한 연구의 필요성이 증가하고 있다. XMLSchema가 표준으로 지정된 이후에 많이 사용되고 있지만, XMLSchema를 사용하는 XML 문서를 위한 XML 컴파일러 생성기에 관한 연구는 현재까지 거의 이루어지지 않았다. 본 논문에서는 속성 문법을 사용해서 XMLSchema를 사용하는 XML 문서를 위한 XML 컴파일러를 자동적으로 생성할 수 있는 방법을 소개한다. XML 컴파일러 생성기는 XMLSchema의 데이타 타입 정보와 별도로 제공되는 의미 정보를 이용해서 의미 클래스와 XML 컴파일러를 생성한다. 생성된 XML 컴파일러는 XML 문서를 파싱해서 의미 클래스의 인스턴스로 구성된 트리로 변환하고, 트리를 순회하면서 XML 문서를 사용자의 의도에 맞게 처리한다.

PARAFRASE I I 분석을 통한 병렬 컴파일러에 관한 연구 (A Study on Parallel Compiler Using PARAFRASE II Analysis)

  • 이상헌;박두순
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 1998년도 춘계학술발표논문집
    • /
    • pp.349-354
    • /
    • 1998
  • 정보화 시대를 맞이해서 다량의 자료와 다양한 형태의 자료를 빠르게 처리함이 요구됨에 따라서 좀더 성능이 좋은 컴퓨터를 요구하였으며, 이러한 요구사항에 충족하기 위하여 병렬 컴퓨터가 등장하였다. 그러나, 병렬 컴퓨터에서 수행되는 병렬 프로그램을 사용자가 작성하기란 용이한 작업이 아니다. 사용자에게 편의를 제공하고, 기존의 프로그램들을 병렬 컴퓨터에서 직접 수행시키기 위하여 병렬 컴파일러가 등장하였다. 이러한 병렬 컴파일러를 만드는데는 상당한 시간과 노력이 요구된다. 본 논문에서는 PARAFRASE-2 병렬 컴파일러의 분석을 통하여 병렬 컴파일어의 구조를 살펴보고 간단한 병렬 컴파일러를 설계, 구현한다.

  • PDF