RISS 학술연구정보서비스

검색
다국어 입력

http://chineseinput.net/에서 pinyin(병음)방식으로 중국어를 변환할 수 있습니다.

변환된 중국어를 복사하여 사용하시면 됩니다.

예시)
  • 中文 을 입력하시려면 zhongwen을 입력하시고 space를누르시면됩니다.
  • 北京 을 입력하시려면 beijing을 입력하시고 space를 누르시면 됩니다.
닫기
    인기검색어 순위 펼치기

    RISS 인기검색어

      검색결과 좁혀 보기

      선택해제
      • 좁혀본 항목 보기순서

        • 원문유무
        • 원문제공처
        • 등재정보
        • 학술지명
          펼치기
        • 주제분류
        • 발행연도
          펼치기
        • 작성언어
        • 저자
          펼치기

      오늘 본 자료

      • 오늘 본 자료가 없습니다.
      더보기
      • 무료
      • 기관 내 무료
      • 유료
      • Separable 시스템의 특성

        변석우(Sugwoo Byun) 한국정보과학회 1998 정보과학회논문지 : 시스템 및 이론 Vol.25 No.4

        Bohm의 분리성 (separability) 이론은 람다 계산법 (Lambda Calculus)에서 잘 정리되었다. 본 논문에서는 Bohm의 분리성 이론을 TRS(term rewriting systems)에 적용하여 separable 시스템을 정의하고, 그 시스템의 주요 특성들을 밝혀낸다. Huet과 Levy에 의해서 개발된 TRS에서의 강력 순차성(strong sequentiality) 이론과 주요 특성들을 소개한 다음, constructor TRS인 경우 분리성과 강력 순차성은 상호 일치함을 증명한다. There is a well-developed Bohm‘s separability theory in the λ-calculus. In this paper, we define separable systems, extensions of Bohm's separability to TRSs (term rewriting systems), and investigate major properties of separable systems. First we review Huet-Levy's strong sequentiality. Then we prove that separability is identified with strong sequentiality in constructor TRSs.

      • 결정적 병렬 프로그래밍을 위한 동기화

        변석우(Sugwoo Byun),지동해(Donghae Chi),임기욱(Keewook Rim) 한국정보과학회 1996 한국정보과학회 학술발표논문집 Vol.23 No.2B

        본 논문에서는 C, C++ 등과 같은 명령형 순차언어에 병렬 구문을 첨가하여 ParaC, CC++, pC++ 등의 명령형 병렬언어를 설계하는 데 있어서, 결정적 프로그래밍을 구성하기 위한 조건 및 관련 이론에 대해서 논의하고자 한다. 일반적으로 한 병렬 프로그래밍에 대한 비결정성/결정성의 여부를 컴파일 시에 판단하는 것은 불가능하다. 한 근접한 해결 방법으로서, 프로세스(혹은 쓰레드)들 간의 통신 방법에 제약을 가함으로써 결정적인 병렬 프로그램의 수행을 보장할 수 있다. 병렬 프로그래밍의 결정성을 파악하는 기법으로서 함수 언어의 주요한 특징인 Church-Rosser의 특성이 이용되고 있으며, 결정적 특징을 갖는 동기화 기법의 예가 소개된다. 마지막으로 향후 연구 방향에 대해서 논의한다.

      • KCI등재

        모나드를 이용한 비결정적 컴파일러 구현

        변석우(Sugwoo Byun) 한국컴퓨터정보학회 2014 韓國컴퓨터情報學會論文誌 Vol.19 No.2

        본 연구에서는 Haskell의 모나드 기법을 이용한 명령형 언어의 컴파일러 구현에 대해 논의한다. 이 컴파일러는 한 생성 룰이 입력 스트링의 파싱을 실패할 때 다른 생성 룰로써 파싱하는 backtracking 기능의 비 결정적 Recursive Descent Parser를 포함한다. Haskell은 파싱에 필요한 우수한 기능들을 가지고 있다. Haskell의 대수적 타입은 추상구문트리를 자연스럽게 표현할 수 있으며, 모나드 파싱을 적용한 프로그램 코드는 매우 간결하여 가독성이 좋고, 타 언어에 의해 구현된 것에 비해 코드의 양이 획기적으로 감소된다. 이 컴파일러의 목적 코드는 스택 머신을 기반으로 한 Stack-Assembly 언어로서 이것을 위한 코드 생성과 어셈블러 실행 환경에 대해서도 논의한다. We discuss the implementation of a compiler for an imperative programming language, using monad in Haskell. This compiler involves a recursive-descent parser conducting nondeterministic parsing, in which backtracking occurs to try with other rules when the application of a production rule fails to parse an input string. Haskell has some strong facilities for parsing. Its algebraic types represent abstract syntax trees in a smooth way, and program codes by monad parsing are so concise that they are highly readable and code size is reduced significantly, comparing with other languages. We also deal with the runtime environment of the assembler and code generation whose target is the Stack-Assembly language based on a stack machine.

      • 결정적 병렬 프로그래밍을 위한 동기화 모델

        변석우(Sugwoo Byun) 한국정보과학회 1997 정보과학회논문지(B) Vol.24 No.12

        기존 명령형 순차언어에 병렬성을 확장한 병렬 프로그래밍 언어들이 점차 널리 사용되고 있다. 이와 같은 언어들을 사용하여 작성된 프로그램은 기존 순차 프로그램과는 달리 일반적으로 그 흐름제어가 '비결정적'일 수 있다. 본 논문에서는 명령형 병렬 프로그래밍에서 사용되는 채널이나 공유변수들을 결정적인 방법으로 접근하기 위한 동기화 모델을 제시한다. 이 모델은 수렴 (confluence) 특성을 갖는 TRS (Term Rewriting System)의 직교성 (orthogonality) 개념과 연관될 수 있다. 이 모델에서는 비결정성을 추론할 수 있는 규칙들이 정의될 수 있으며 기존에 많이 이용되고 있는 단일 할당 (single assignment)의 조건을 완화시킬 수 있다. 공유변수의 동작 의미, TRS의 수렴 특성, 명령형 병렬 프로그래밍의 수렴 특성, 공유변수 접근을 제어하는 det 타입 및 그 응용에 대해서 논의한다. Parallel programming languages extended by adding parallelism to imperative sequential languages are getting popular In general, parallel programming may involve 'nondeterministic' control flows which cannot be found in sequential programming. In this paper, for access control of channels or shared variables, we suggest a synchronization model which prevents imperative parallel programming from being nondeterministic so that determinism is secured. This model is associated with confluent (or Church-Rosser) property of orthogonal TRSs (Term Rewriting Systems). This model allows to define inference rules that check nondeterministic access of shared variables (or channels), which also relaxes the restriction of the conventional 'single assignment' scheme. We discuss operational meaning of shared variables, Church-Rosser property of imperative programming, and the type det defined to control access patterns of shared variables and its application.

      • KCI등재

        지연 함수형 프로그래밍 언어의 항 개서 의미

        변석우(Sugwoo Byun) 한국정보과학회 2008 정보과학회논문지 : 시스템 및 이론 Vol.35 No.3·4

        대부분의 함수형 프로그래밍 언어에서는 ‘위에서 아래쪽, 왼쪽에서 오른쪽 방향으로’ 패턴 매칭(pattern matching)을 한다는 전략에 따라, 모호한(ambiguous) 특성을 갖는 룰의 정의를 허용하고 있다. 이 방법은 함수형 프로그래머에게 디폴트 룰을 정의할 수 있게 하는 직관적인 편리함을 제공하지만, 한편으로 모호한 룰 때문에 함수형 언어의 의미는 불명확해 질 수 있다. 좀 더 구체적으로, 함수형 언어가 갖는 대표적인 특성인 등식 추론(equational reasoning) 원리의 적용을 불가능하게 할 수 있으며, 함수형 언어를 람다 계산법으로 변환하는 데 있어서도 정형적인 방법이 아닌 임시방편적인(ad hoc) 방법에 의존할 수 밖에 없게 한다. 본 연구에서는 지연(lazy) 함수형 언어의 패턴 매칭의 의미를 순수 선언적 특성을 갖는 항 개서 시스템(Term Rewriting Systems)의 분리성(separability) 이론과 연관시키고, 분리성 이론에 따라 지연 함수형 언어가 람다 계산법으로 변환될 수 있음을 보인다. Most functional programming languages allows programmers to write ambiguous rules, under the strategy that pattern-matching will be performed in a direction of ‘from top to bottom’ way. While providing programmers with convenience and intuitive understanding of defining default rules, such ambiguous rules may make the semantics of functional languages unclear. More specifically, it may fail to apply the equational reasoning, one of most significant advantage of functional programming, and may cause to obscure finding a formal way of translating functional languages into the λ-calculus; as a result, we only get an ad hoc translation. In this paper, we associate with separability of term rewriting systems, holding purely-declarative property, pattern-matching semantics of lazy functional languages. Separability can serve a formalism for translating lazy functional languages into the λ-calculus.

      • KCI등재
      • KCI등재

        모나드를 이용한 어셈블리 언어 인터프리터 개발

        변석우(Sugwoo Byun) 한국정보과학회 2010 정보과학회논문지 : 소프트웨어 및 응용 Vol.37 No.5

        하스켈의 모나드는 순수 함수형 프로그래밍뿐만 아니라 명령형 형태의 프로그래밍도 가능케하고 있다. 본 연구에서는 순수 함수형 프로그래밍 방식으로 코딩된 어셈블리 언어 인터프리터 구현을 모나드 방식으로 재 구성함으로써 모나드 추상화와 프로그래밍 기법의 특성을 부각시킨다. 모나드 프로그래밍은 스택과 심볼 테이블에 상태 모나드를 적용하는 것과, 이 모나드들을 상태 모나드 트랜스포머를 이용하여 통합 구성하는 두 단계로 이루어진다. 결과적으로, 모나드 프로그래밍에 의한 코드는 순수 함수형 스타일의 코드보다 훨씬 더 간결하고 직관적임을 볼 수 있다. Monad in Haskell allows one to do imperative-style programming as well as pure functional programming. In this work, we characterize monadic abstraction and its programming technique by restructuring an assembly language interpreter coded in pure functional style into the one by the monadic style. Monad programming consists of two phases; the State monad is applied to a stack and a symbol table, and then a State Monad Transformer integrating these two monads is constructed. As a result, we can see that the program code by monad programming is much clearer and more intuitive than one written in the pure functional style.

      연관 검색어 추천

      이 검색어로 많이 본 자료

      활용도 높은 자료

      해외이동버튼