• 제목/요약/키워드: Syntax Tree

검색결과 60건 처리시간 0.031초

객체지향 컴파일러의 심벌 테이블 검증을 위한 선언문 복원 기법 (The Declarations Reconstruction Technique for the Symbol Table Verification of the Object-oriented Compiler)

  • 손민성;권혁주;김영근;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2006년도 추계학술발표대회
    • /
    • pp.669-672
    • /
    • 2006
  • 본 연구팀은 유비쿼터스 게임 플랫폼을 위한 Embedded C++ 컴파일러를 개발하였으며, 컴파일러 개발 과정에서 객체지향언어인 C++과 Java 언어를 모두 수용할 수 있는 심벌 테이블을 설계하였다. 심벌 테이블은 컴파일러의 어휘 분석과 구문 분석 과정을 거친 후 SDT(syntax-directed translation)에 의해 생성된 AST(Abstract Syntax Tree)를 분석하여 인식된 명칭(identifier)과 그 속성(attribute)들을 수집하여 저장하는 자료구조로써, 심벌 테이블에 저장된 속성들은 의미 분석(semantic analysis) 단계에서 수집된 속성과 참조된 명칭의 사용이 타당한지를 검사하고, 코드 생성(code generation) 단계에서 올바른 코드가 생성되도록 하는 중요한 요소이다. 따라서 심벌 테이블의 설계가 올바른지와 입력된 속성이 정확한지에 대한 검증과 분석은 필수 불가결하다. 본 논문에서는 컴파일러 개발과정에서 설계한 심벌 테이블을 검증하고 분석하기 위한 목적으로써 심벌 테이블을 이용하여 선언문을 복원시키는 역번역기(detranslator)에 대하여 기술한다. 구현된 역번역기는 C++ 컴파일러와 Java 컴파일러의 선언문 처리 과정에서 심벌 테이블에 입력된 속성들을 본래의 입력 프로그램으로 역번역한다. 따라서 역번역기를 통하여 심벌 테이블의 완전성과 심벌 테이블에 입력된 속성 정보의 정확성을 쉽게 검증할 수 있으며, 역번역과 함께 출력되는 디버그 정보를 이용하여 효율적으로 컴파일러의 개발과 수정을 할 수 있다.

  • PDF

자료 및 제어 흐름 정보의 최적화 표현에 관한 연구 (A Study on the Optimized Representation for Data and Control Flow Information)

  • 정성옥;고광만;이성주
    • 한국정보통신학회논문지
    • /
    • 제4권3호
    • /
    • pp.681-687
    • /
    • 2000
  • 최적화란 비효율적인 코드를 구분해 내서 실행 속도 및 기억 공간의 효율성을 높여 주는 방법으로 컴파일러의 각 단계에서 수행된다. Augustus K. Uh떼 의해 제안된 Ideograph는 입력 프로그램에 대한 제어 의존성과 자료 의존성에 관한 정보를 동시에 표현할 수 있어 코드 최적화 단계에서 효과적으로 이용될 수 있으며 프로그램에 존재하는 병렬성을 표현하는데 효과적이다. 구문 트리는 원시 프로그램 정보를 효율적으로 표현할 수 있는 중간 표현으로서 컴파일러 구천에 널리 사용되고 있다. 본 논문에서는 원시 프로그램의 중간 표현인 구문 트리를 입력으로 받아 최적화 정보를 추출한 후 제어 흐름 및 자료 흐름 분석 정보를 추출하여 제어 의존성과 자료 의존성을 Ideouaph에 동시에 표현한다.

  • PDF

HEVC Test Model에서 확장 블록 구조및변환 기술과 성능 분석

  • 김재일;김문철
    • 방송과미디어
    • /
    • 제15권4호
    • /
    • pp.45-54
    • /
    • 2010
  • 최근 ISO/IEC와 ITU는 공동협력팀(Joint Collaborative Team on Video Coding-JCT-VC)을 구성하여 HEVC(High Efficiency Video Coding)라 불리는 새로운 비디오 압축 표준 기술을 개발하고 있다. JCT-VC의 목표 중 하나는 H.264/AVC 압축률의 2배를 향상하는 것으로 최근 HEVC 테스트 모델(HEVC Test Model - HM)을 확정했다. HM의 여러 기술 중에서 확장 블록 구조 (large block structure) 기술은 CTB(Coded Tree Block)와 TU(Transform Unit), PU(Partition Unit)로 구성된다. CTB와 TU는 압축 단위와 변환 기술을 확장한 반복적인 문법구조(recursive syntax structure)이며, PU는 H.264/AVC과 동일한형태를 띈다. 확장 블록 구조는CTB, PU, TU의 여러 조합에 의해 다양한 모드를 지원하여 압축 성능은 높아졌지만 HM 부호화기의 복잡도는 증가한다. 본 논문에서는 HM에 채택된 확장블록구조 및 변환 기술에 대해 설명한 후, TMuC 및 HM의 테스트 영상을 이용하여 다양한 최대 CTB 및 TU 크기의 압축성능 및 선택비율을 분석한다.

주거공간의 공간구조와 음악 구조의 상관성에 관한 연구 - 16C~19C 주거공간을 중심으로 - (A Study on the interrelationship between the Spatial Structure of Residential Space and the Structure of Music)

  • 이홍규
    • 한국실내디자인학회논문집
    • /
    • 제33호
    • /
    • pp.11-18
    • /
    • 2002
  • There is an agreement that sociocultural forces affect on the types of arts. There have been a little attempts to draw analogy between architecture and music. There are many objective and subjective factors for this to be true. If, however, the two arts are out of much the same social conditions, they show a degree of conformity in design and general organization. Our study shows the interrelationship between the Residential Space and structure of music. In order to clarify the interrelationship between architecture and music, the study examines ten Residential Spaces suggested by Yi-Jinkyung. The Residential Spaces are analyzed by using theory of Space Syntax. The structure of music is analyzed by tonality, counterpoint and harmony. The comparison between the Residential Spaces and music follows : From Renaissance to the 19th century, they have the same tendency to 1) openness & closure to the outer space and 2) the netting diagram in the inner space & Counterpoint 3) the tree diagram in the space & Harmony

관계형 데이터베이스 환경에서의 XQuery Processor 설계 및 구현 (Design and Implementation of XQuery processor using Relational Technologies)

  • 정민경;홍동권
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 추계학술발표대회 및 정기총회
    • /
    • pp.23-26
    • /
    • 2005
  • XML이 발표되면서 대용량의 XML을 효과적으로 관리하는 여러 가지 방법들이 연구되고 있다. 특히 지금까지 상업적, 기술적으로 성공적이고 안정된 데이터 모델인 관계형 데이터베이스를 활용하는 여러 가지 방법들이 연구되고 있다. 본 논문은 관계형 DBMS를 사용하여 XML 질의어인 XQuery를 SQL로 변환하여 처리하는 효율적인 방법을 제안한다. 우선 본 논문에서 제안하는 방식은 XML문서를 분할하여 관계형 테이블에 저장하는 분할방식을 사용하며, 분할된 관계형 테이블을 이용하여 XPath를 포함한 XQuery의 기능을 실행하는 SQL을 생성하여 관계형 DBMS에서 SQL을 실행하는 방식을 사용한다. 제안한 XQuery 처리방식은 먼저 XQuery의 구문 분석을 통하여 AST(Abstract Syntax Tree)를 생성하고, AST를 순회하면서 SQL문장을 생성한다. 생성된 SQL문장은 XML 문서의 경로를 사용함으로써 XQuery 연산의 조인 횟수를 감소시키며, 각 노드마다 부여된 순서 정보를 효과적으로 사용하여 문서의 원래 순서에 맞는 XML 부분을 생성하는 방법을 제시한다. 그리고 실제 제안된 시스템을 개발하여 그 성능을 평가한다.

  • PDF

이해와 구현이 용이한 C 언어 시퀀스 포인트 모델 (Comprehensive and Algorithmical Sequence Point Model for C)

  • 전웅;한동수
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.958-960
    • /
    • 2005
  • 이식성과 성능 사이의 타협을 위해 수식 평가 순서를 부분적으로 정의할 수 밖에 없는 C 언어는 표준이 사용하는 일반 영어의 모호성으로 일부 복잡한 수식의 유효성(validity)을 판별하기 어려운 문제를 안고 있다. 그동안 의존 관계나 언어 형식화(formalization)를 이용해 일관되게 유효성을 판별하려는 시도가 있었으나 이해와 구현 모두가 용이해야 한다는 표준의 요구를 만족하지 못했다. 본 연구에서는 구현을 고려해 AST(Abstract Syntax Tree)에 변수의 참조$\cdot$수정 정보를 덧붙여 수식 부작용(side effect)과 관련된 시퀀스 포인트(sequence point) 문제를 해결하는 효율적인 모델을 제안한다.

  • PDF

Design and Implementation of a Data Extraction Tool for Analyzing Software Changes

  • Lee, Yong-Hyeon;Kim, Kisub;Lee, Jaekwon;Jung, Woosung
    • 한국컴퓨터정보학회논문지
    • /
    • 제21권8호
    • /
    • pp.65-75
    • /
    • 2016
  • In this paper, we present a novel approach to help MSR researchers obtain necessary data with a tool, termed General Purpose Extractor for Source code (GPES). GPES has a single function extracts high-quality data, e.g., the version history, abstract syntax tree (AST), changed code diff, and software quality metrics. Moreover, features such as an AST of other languages or new software metrics can be extended easily given that GPES has a flexible data model and a component-based design. We conducted several case studies to evaluate the usefulness and effectiveness of our tool. Case studies show that researchers can reduce the overall cost of data analysis by transforming the data into the required formats.

구문 트리를 이용한 자바 바이트코드에서 SIL로의 번역기 (Java Bytecode-to-SIL Translator using an Abstract Syntax Tree)

  • 김영근;권혁주;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 춘계학술발표대회
    • /
    • pp.519-522
    • /
    • 2004
  • 자바는 현재 가장 널리 사용되는 범용 프로그래밍 언어중 하나로 컴파일러에 의해 중간언어인 바이트코드로 변환되며 JVM(Java Virtual Machine)에 의해 실행되는 플랫폼 독립적인 언어이다. SIL(Standard Intermediate Language)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어 등을 모두 수용할 수 있는 임베디드 시스템을 위한 중간언어로 가상기계인 EVM(Embedded Virtual Machine)에서 실행된다. 본 논문에서는 자바 프로그램을 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하여 자바로 구현된 프로그램이 EVM에서 실행되도록 하는 Bytecode-to-SIL 번역기 시스템을 구현하였다. 그리고 본 번역기 시스템을 다른 플랫폼에 용이하게 설치하기 위한 재목적성(retargetability)을 위해 단일패스(one-pass)을 사용하는 기존의 번역기들과 달리 AST를 이용한 컴파일러 기법을 사용하여 AST가 가지고 있는 정보에 대해 최적화 작업을 수행하여 보다 효과적인 코드 변환을 할 수 있도록 설계하였다.

  • PDF

Evaluations of AI-based malicious PowerShell detection with feature optimizations

  • Song, Jihyeon;Kim, Jungtae;Choi, Sunoh;Kim, Jonghyun;Kim, Ikkyun
    • ETRI Journal
    • /
    • 제43권3호
    • /
    • pp.549-560
    • /
    • 2021
  • Cyberattacks are often difficult to identify with traditional signature-based detection, because attackers continually find ways to bypass the detection methods. Therefore, researchers have introduced artificial intelligence (AI) technology for cybersecurity analysis to detect malicious PowerShell scripts. In this paper, we propose a feature optimization technique for AI-based approaches to enhance the accuracy of malicious PowerShell script detection. We statically analyze the PowerShell script and preprocess it with a method based on the tokens and abstract syntax tree (AST) for feature selection. Here, tokens and AST represent the vocabulary and structure of the PowerShell script, respectively. Performance evaluations with optimized features yield detection rates of 98% in both machine learning (ML) and deep learning (DL) experiments. Among them, the ML model with the 3-gram of selected five tokens and the DL model with experiments based on the AST 3-gram deliver the best performance.

C++ 중간 코드를 이용한 CHILL96 컴파일러의 설계 및 구현 (Design and Implementation of a CHILL96 Compiler Using C++ Intermediate Code)

  • 금창섭;이준경;이동길;이병선
    • 한국정보처리학회논문지
    • /
    • 제7권5호
    • /
    • pp.1559-1569
    • /
    • 2000
  • 본 논문에서는 ITU-T에서 통신시트템 구현을 위해 제안된 CHILL96 언어를 C++언어로 변환하는 컴파일러의 설계 및 구현에 관하여 기술하였다. C++ 코드를 생성하기 위해서 CHILL96 언어에서 C++ 언어로서 변환 규칙을 고안하였다. ChILL96 컴파일러는 심볼 테이블과 추상구문트리와 밀접한 관계를 갖는 구문 분석기, 가시싱 제어기, 의미 분석기, 코드 생성기로 이루어져 있다. 또한, 본 논문에서 기술한, CHILL96 컴파일러는 이전에 개발된 다른 CHILL 컴파일러들에 비해 우수한 성능을 보여주었다. 이 논문에서 개발된 CHILL96컴파일러는 성능과 이식성의 향상 이외에도 기존에 CHILL로 개발된 통신 소프트웨어들을 C++로 변환함으로써 신규 기능의 추가니 유지보수에서 편의성을 높였다.

  • PDF