• Title/Summary/Keyword: 시각언어 컴파일러

Search Result 9, Processing Time 0.029 seconds

문법기반 객체지향 시각언어의 컴파일러 생성기 (A Compiler Generator for Object-Oriented Visual Languages based on Grammer)

  • 이기호;김경아
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제26권3호
    • /
    • pp.431-440
    • /
    • 1999
  • 기존 시각언어 컴파일러 자동화 도구는 시각 구문의 그래픽 정의부분을 명세하고 확장 및 수정하는 방법의 한계로 인해 어휘분석단계를 처리하는데 어려움이 있다. 이러한 문제점을 해결하기 위해 본 논문에서는 객체지향 시각언어 문법을 기반으로 한 새로운 방식의 문법 기반 자동 생성 시스템인 시각언어 컴파일러 자동 생성 환경(CGE-VL)을 구축한다. 이 시스템은 객체지향 패러다임을 기초로 한 시각언어 컴파일러 구축을 위한 실질적인 도구로 기존의 시각언어 컴파일러 자동화 도구와는 구별되는 객체지향 시각언어의 효과적인 명세 방법 제공, 어휘분석기를 이용한 파싱 시간의 단축, 객체지향 파서를 자동 생성하는 등의 새로운 특성을 제공한다. 이러한 특성은 특히 동일한 의미를 가지는 언어 구성요소가 그 쓰임에 따라 서로 다른 구체화된 의미 및 행동을 가지는 객체지향 시각언어에서는 언어 명세에서 최종 산물인 컴파일러에 이르는 전 단계에 동일한 객체 지향 패러다임을 사용함으로써 일관된 개발방법을 제공하여 그 효과가 두드러진다.

클래스 기반의 의미수행코드 명세를 이용한 시각언어 컴파일러 자동 생성 (Automatic Compiler Generator for Visual Languages using Semantic Actions based on Classes)

  • 김경아
    • 한국멀티미디어학회논문지
    • /
    • 제6권6호
    • /
    • pp.1088-1099
    • /
    • 2003
  • 의미 수행 코드를 이용한 문법-지시적 변환 방법은 컴파일러 설계자가 원시 언어의 구문 구조에 따라 직접 컴파일러의 후단부를 표현할 수 있는 효과적인 방법으로 텍스트 프로그래밍 언어에서는 컴파일러 구축 방법으로 널리 사용되고 있다. 그럼에도 불구하고 시각언어의 경우에는 통합된 파스 트리 노드 표현 방법의 부족과 구문 구조의 모델링 방법의 결여로 인하여, 의미 수행 코드를 이용한 문법 지시적 변환 방법에 기반을 둔 컴파일러 구축에 어려움이 있다. 본 연구에서 는 Pictorial Class Grammar의 시각언어 구문 정의를 캡슐화 하는 방법과 And-Or-Waiting Graph를 이용한 구문 분석 방법을 기반으로 하여, 구문 요소를 하나의 클래스형태로 구성함으로써, 구문 요소의 표현에 사용되는 의미와 구문의 미 (syntax-semantics)를 분리 할 수 있는 방법을 제시한다. 이 방법에 기초하여 기존 연구들의 문법-지시적 시각언어 컴파일러 구축의 문제점을 극복하고, 구문 명세와 분리된 의미 수행 코드 명세 방법을 제시하여, 유지보수성을 보다 향상시킨 문법-지시적 변환 방법을 이용한 시각언어 컴파일러 자동 생성 방법을 제공한다.

  • 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

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

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

  • PDF

자바 클래스 파일 실행 분석기 (Java Class File Execution Simulator)

  • 박상필;고광만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (1)
    • /
    • pp.262-264
    • /
    • 2003
  • 자바 언어에 대한 클래스 파일은 소스 프로그램의 의미를 자바 가상 기계에서 실행가능한 형식으로 변환된 형태이다. 이러한 클래스 파일의 구조 및 실질적인 실행 과정에 대한 분석은 디컴파일러 구성, 소스프로그램의 디버깅 등에 편리성을 지원할 수 있다. 본 논문에서는 이러한 클래스 파일에 대한 분석 및 실제로 실행 과정을 보다 시각적으로 표현하기 위한 실행 과정 분석기에 관한 연구이다. 이를 위해 클래스파일을 내용을 GUI 환경에서와 같이 접근 및 표현이 용이하도록 구현하였으며 이러한 클래스 파일의 실행 과정에서 핵심 정보를 저장하고 있는 메소드 영역 정보, 오퍼란드 스택 정보, 지역 변수의 정보를 시각적으로 표현하였다.

  • PDF

C++컴파일러 및 프로그래밍 환경 개발 (Debelppment of C++ Compiler and Programming Environment)

  • 장천현;오세만
    • 한국정보처리학회논문지
    • /
    • 제4권3호
    • /
    • pp.831-845
    • /
    • 1997
  • 본 논문에서는 가장 널리 사용되고 있는 객체지향 언어인 C++를 지한 컴푸일러 및 대화식 프로그래밍 환경을 제안하고 개발하였다. C++ 언어를 위한 컴파일러를 개발하기 위해 컴파러를 Front-End 와 Back-End로 나누고 가상기계인 EM을 사용하여 연결하는 모델을 사용하였다. Front-End 개발시에는 C++ 문법을 문법석 도구, 어휘 및 구문분석기 생성도구를 이용하여 구문분석 방법과 문맥에 연동된 문법 처리기술과 AST클래스 라이브러리를 개발하였다. Back-End에서는 목적기계 표현기술과 토리코드 최적화 방법, 트리 패턴 매칭에 의한 재목적 코드 생성 기법을 제안하고 이를 이용한 재목적이 용이한 SPARC 기계 Back-End를 개발하였다. C++를 위한 대화식 프로그래밍 환경은 언어의 다양한 특성을 효과적으로 표현하기 위해 AST을 이용하고, 점진적 분석 기술과 시각 기호 를 제안하였다. 대화식 환경의 일반화에 의한 자동생성 방법과 프로그램의 정형화된 표현 방법을 위한 Unparsing 체계를 제안하였다. 개발된C++ 컴팰러와 대화식 프로그램 환경은 통합된 C++ 프로그래밍 환경을 구성하게 된다. 본 연구를 통해 얻어진 기술 들은 새로운 고급언어 및 기계에 대한 컴파일러의 개발은 물론 병렷 및 분산 환경을 위한 컴파일러 개발에 활옹될 수 있을 것이다.

  • PDF

응용프로그램에 특화된 명령어를 통한 고정 소수점 오디오 코덱 최적화를 위한 ADL 기반 컴파일러 사용 (Using a H/W ADL-based Compiler for Fixed-point Audio Codec Optimization thru Application Specific Instructions)

  • 안민욱;백윤흥;조정훈
    • 정보처리학회논문지A
    • /
    • 제13A권4호
    • /
    • pp.275-288
    • /
    • 2006
  • 빠른 디자인 공간 탐색 (Design space exploration)은 응용 프로그램의 동작을 구현하기 위한 임베디드 시스템을 디자인하는데 매우 중요하다. Time-to-market이 디자인의 주관심사가 되어감에 따라 ASIP(Application specific instruction-set processor)에 기반한 접근 방식이 디자인 방법론적으로 중요한 대안이 되고 있다. 이러한 접근 방식에서는 타깃 프로세서의 ISA(Instruction set architecture)를 코드 크기와 실행 속도 측면에서 응용 프로그램에 가장 적합하도록 변경한다. 본 논문의 목적은 우리의 새로운 재겨냥성 컴파일러를 소개하고, 많이 알려진 디지털 신호 처리용 응용 프로그램을 위한 ASIP 기반 디자인 공간 탐색에서 컴파일러가 어떻게 활용될 수 있는지 설명하고자 하는 것이다. 새롭게 개발된 재겨냥성 컴파일러는 이전의 재겨냥성 컴파일러의 기능을 제공할 뿐만 아니라 application 프로그램의 특징을 시각화하고 application 프로그램의 프로파일된 결과를 제공하므로 application의 성능을 증가시키기 위해 어떤 명령어들을 넣어야 하는지를 결정하는데 도움을 준다. 재겨냥성 컴파일러의 ADL(Architecture description language)를 이용하여 타깃 프로세서의 초기 RISC-style ISA을 기술하고, 컴파일러가 응용 프로그램을 위한 어셈블리 코드를 더 최적화할 수 있도록 응용 프로그램에 특화된 명령어를 ISA에 점진적으로 추가해 나간다. AC3 오디오 codec을 위한 실험 결과로부터 우리는 32%의 성능 증가와 20%의 프로그램 크기 감소를 얻을 수 있는 6개의 새로운 특화 명령어를 빠르게 찾을 수 있었다. 따라서 우리는 고성능의 재겨냥성 컴파일러는 특정 응용 프로그램을 위한 새로운 ASIP의 빠른 디자인을 하기 위한 중요한 핵심이라는 것을 확인할 수 있었다.

자바 클래스 파일에 대한 시각화 실행 분석기 (Visualized Execution Analyzer for the Java Class File)

  • 고광만
    • 정보처리학회논문지A
    • /
    • 제11A권5호
    • /
    • pp.319-324
    • /
    • 2004
  • 자바 언어는 빠른 속도로 인터넷 및 분산 응용 분야 등에서 활용되고 있으며 단순히 응용 소프트웨어를 개발할 수 있는 프로그래밍 언어이상으로 활용 범위가 확대되고 있다. 특히, 실행 환경인 자바 가상 기계에 연관되어 다양한 연구가 진행되고 있으며 자바 클래스 파일에 대한 분석 및 응용 분야에 적합한 형태로 정보를 활용할 수 있는 다양한 시도가 진행되고 있다. 자바 언어에 대한 클래스 파일은 소스 프로그램의 의미를 자바 가상 기계에서 실행 가능한 형식으로 변환된 형태이다. 이러한 클래스 파일의 구조 및 실질적인 실행 과정에 대한 분석은 디컴파일러 구성, 소스 프로그램의 디버깅 등에 편리성을 지원할 수 있다. 본 논문에서는 이러한 클래스 파일에 대한 분석을 비롯하여 실제로 실행되는 과정을 보다 시각적으로 표현하기 위한 실행 분석기 개발에 관한 연구이다 이를 위해 클래스 파일의 내용을 GUI 환경에서와 같이 접근 및 표현이 용이하도록 구현하였다. 클래스 파일이 포함하고 있는 정보들을 Constant_Pool 부분, Class_file 부분, Interface 부분, Field 부분, Method 부분, Attribute 부분으로 나뉘어서 나타내도록 해주었다. 또한 클래스 파일의 실행 과정에서 핵심 정보를 저장하고 있는 메소드 영역 정보, 오퍼란드 스택 정보, 지역 변수의 정보를 시각적으로 표현하였다.

병렬 객체지향 프로그래밍을 위한 시각 환경의 설계 및 구현 (Design and Implementation of Visual Environment for Parallel Object-Oriented Programming)

  • 최숙영
    • 한국정보처리학회논문지
    • /
    • 제6권2호
    • /
    • pp.485-496
    • /
    • 1999
  • 병렬 프로그래밍은 프로세스간의 통신과 동기화 문제, 병렬 시스템의 구성 형태등을 고려해야 하기 때문에 순차 프로그래밍에 ? 많은 노력을 필요로 한다. 효율적인 병렬 프로그램을 작성하기 위해서는 사용자와 컴파일러간의 상호 지원이 이루어져야 한다. 이러한 관점에서 본 연구는 선행 연구로써 병렬 객체지향 표기언어 POOSL을 개발하였다. 그러나, 사용자 입장에서 볼 때 병렬 프로그램을 작성하기 위해 POOSL의 문법 구조를 염두에 두고 텍스트 중심의 프로그램을 작성한다면 여전히 부담스러운 작업이 될 것이다. 사용자에게 보다 편리함을 제공하기 위해서는 텍스트보다는 시각적인 프로그래밍 환경이 더욱 효율적이고 바람직할 것이다. 따라서, 본 논문에서는 POOSL을 기초로 하여 사용자가 좀더 쉽고, 편리하게 병렬 프로그래밍 할 수 있는 시각 환경으로써 VEPO(Visual Environment for Parallel Object-Oriented Programing)를 제안하고 있다. 본 논문의 목적은 사용자가 병렬 프로그램을 작성하는데 있어 문제에 내재된 병렬성을 객체지향 개념에 입각하여 시각적으로 자연스럽게 표현하도록 하고, 병렬 프로그램 개발에 관련된 과정들을 하나의 환경을 통합시킴으로써 편리한 프로그램 환경을 제공하는 것이다. 본 연구에서 제안하고 있는 VEPO는 병렬 프로그램을 개발하는데 필요한 기본적인 단계들로써 프로그램 기술 단계, 실행 단계, 실행 과정의 시각화등을 지원하고 있으며, 시각 프로그래밍의 장점을 충분히 살릴 수 있도록 여러 개념들이 지원되고 있다. 특히, 병렬 프로그램에서 복잡하고 까다로운 통신과 동기화에 관련된 코드 등은 번역 과정에서 여러 개념들이 생성되도록, 함으로써 사용자로 하여금 병렬 프로그램을 작성하는데 따르는 부담감을 줄 일 수 있도록 한다. 본 시스템은 PC를 호스트로 연결한 트랜스퓨터들로 구성된 병렬 컴퓨터 MC-3에서 구현되었다. VEPO 그래픽 사용자 인터페이스는 Visual C++로 구현되었고, VEPO에서 작성된 시각 프로그램은 Inmos C 코드로 번역되어 MC-3에서 수행된다.

  • PDF