http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.
변환된 중국어를 복사하여 사용하시면 됩니다.
중간표현을 이용한 재목적 컴파일러의 효율적인 테스트 방법
장한일(Hanil Jang),우균(Gyun Woo),채흥석(Heung-Seok Chae) 한국정보과학회 2006 한국정보과학회 학술발표논문집 Vol.33 No.2B
컴파일러에 결함이 있다는 것은 곧 잘못된 코드를 생성한다는 것을 의미하므로 양질의 컴파일러 구성은 양질의 소프트웨어 생산을 위한 기본 요구조건이 된다. 임베디드 시스템이 널리 사용되면서 더욱 다양하고 복잡한 임베디드 프로세서가 개발되었고 이는 새로이 설계된 프로세서를 위한 새로운 컴파일러 개발의 필요를 야기하고 있다. 본 논문에서는 프로그램의 중간 표현을 기반으로 하는 효율적인 테스팅 방법을 제안한다. 언어의 구문 규칙을 모두 사용하는 테스트 케이스를 통해 컴파일러를 테스트하는 방법이 이미 연구되었으나, 기존의 소스 코드 수준의 방법으로는 테스트 케이스의 중복성이 존재하는 단점이 있다. 본 논문에서는 중간 표현의 구문 규칙을 이용해서 중복된 테스트 케이스를 제거하여 테스팅 효율을 증가시킬 수 있음을 기술한다. 또한 본 논문에서 제안하는 방법을 GCC의 중간 언어인 RTL에 적용한 예를 통해 설명한다.
장한일(Hanil Jang),이동주(Dongju Lee),지정훈(JungHoon Ji),우균(Gyun Woo),김원영(Won-Young Kim),최완(Wan Choi) 한국정보과학회 2005 한국정보과학회 학술발표논문집 Vol.32 No.2
스크립트 언어는 모듈의 결합이나 조정 등의 여러 목적으로 쓰이고 있는 언어이다. 스크립트 언어는 사용의 편리함과 높은 생산성으로 인해 널리 사용되고 있다. 그러나 현재 너무나 많은 스크립트 언어가 개발 · 제시되고 있어 프로그래머가 스크립트 언어를 선택해야 할 때 어떤 언어를 선택해야 할지 판단하기 힘든 실정이다. 이에 본 논문에서는 프로그래밍 편의성 관점에서의 비교 기준을 제시하고 대표적인 스크립트 언어(VB script, Ruby, Perl, Python, Tcl, Lua, Groovy)를 이 기준에 따라 비교하였다. 비교 결과 각 비교 분야에 강점을 보이는 언어를 발견하였다. 본 논문의 결과는 스크립트 언어를 선택하는데 도움이 될 것이다.
GUI 편집기 재목적을 통한 GUI 개발환경 구현 방법
장한일 ( Hanil Jang ),우균 ( Gyun Woo ),김원영 ( Won-young Kim ),최완 ( Wan Choi ) 한국정보처리학회 2006 한국정보처리학회 학술대회논문집 Vol.13 No.2
응용프로그램의 쉽고 빠른 개발을 위한 개발도구의 중요성이 대두되고 있다. 이 중 GUI 개발환경은 개발자의 편의성과 신속한 개발을 위해서 필수적이나 다양한 언어와 플랫폼을 위한 GUI 개발환경을 개발하는데 어려움을 겪고 있는 실정이다. 그리하여 본 논문에서는 여러 언어와 플랫폼을 위한 GUI개발환경을 신속히 얻기 위해 기존의 GUI 편집기를 재목적하여 GUI 개발환경을 구현하는 방법을 제안한다. 기존에 개발된 FarPy GUI 편집기를 전단부로 하고 GUI를 구성하는 GroovyMarkup 코드를 생성하는 방법을 사용하여 Groovy를 위한 GUI 개발환경을 쉽고 빠르게 얻을 수 있었다.
이동주(Dongju Lee),지정훈(JungHoon Ji),장한일(Hanil Jang),우균(Gyun Woo) 한국정보과학회 2006 한국정보과학회 학술발표논문집 Vol.33 No.1
모나드의 일반화 버전인 애로우(Arrow)는 모나드에 비해 효율적이며, 프로그램 합성을 위한 직관적인 인터페이스를 제공한다. 여러 프로그램을 합성할 때 합성된 전체 프로그램의 오류 처리는 매우 중요한 문제이다. 각각의 프로그램에서 오류 처리를 일일이 기술하는 것은 매우 번거로우며 비효율적인 작업이기 때문이다. 본 논문에서는 애로우 인터페이스를 이용하는 프로그램을 합성할 때 효율적으로 오류를 처리하기 위한 방법을 제시한다. 모든 애로우 타입에 대하여 오류를 처리하기 위해 새로운 애로우를 정의하며 이를 프로그램 합성 단위로 이용하여 전체적인 프로그램의 오류를 처리한다. 또한 애로우를 이용한 타입 검사 프로그램을 통하여, 노문에서 제시한 오류 처리 기법을 적용하여 효율성을 평가한다.
GroovyMarkup 확장을 이용한 SWT Builder 설계
이동주(Dongju Lee),지정훈(JungHoon Ji),장한일(Hanil Jang),우균(Gyun Woo),김원영(Won-Young Kim),최완(Wan Choi) 한국정보과학회 2005 한국정보과학회 학술발표논문집 Vol.32 No.2
Java 플랫폼 기반 스크립트 언어인 Groovy는 Java와 같은 객체지향 언어지만 Java보다 훨씬 고급 수준의 언어로서 간결한 코드와 쉬운 프로그래밍 환경을 제공한다. Groovy가 제공하고 있는 기능 중에서 GroovyMarkup은 XML 문서와 같이 각각의 객체가 중첩된 트리 구조를 다루는 응용프로그램을 쉽게 생성할 수 있도록 해준다. GUI 프로그램은 Component 및 Container 객체가 중첩된 구조로 이루어져 있으므로 GroovyMarkup을 이용하면 GUI 프로그램을 간결하고 쉽게 작성할 수 있다. 본 논문에서는 Java 플랫폼 GUI 중 최근 각광 받고 있는 SWT(Standard Widget Toolkit)를 Groovy에서 지원할 수 있게 GroovyMarkup을 확장하여 SWT Builder를 설계한다. SWT Builder는 마크업 형태로 기술한 SWT widget 이름과 속성을 SWT widget 객체와 일대일로 대응하는 구조로 설계된다. 따라서 GUI 프로그램의 골격을 구성하는 SWT Builder를 마크업 형식의 코드로 작성하고 GUI 컴포넌트 내의 이벤트 처리는 클로저(closure)를 이용함으로써 좋은 성능을 내는 GUI 프로그램을 비교적 쉽게 구성할 수 있다.