• Title/Summary/Keyword: syntax tree

Search Result 60, Processing Time 0.031 seconds

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

  • Son, Min-Sung;Kwon, Hyeok-Ju;Kim, Young-Keun;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2006.11a
    • /
    • 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 (자료 및 제어 흐름 정보의 최적화 표현에 관한 연구)

  • 정성옥;고광만;이성주
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.4 no.3
    • /
    • pp.681-687
    • /
    • 2000
  • Ideograph is a truly unifies data and procedural dependencies, Ideograph can be used to assist various program optimization, such as common expression elimination, code motion, constant folding etc. In this paper, we design and implementation of the optimized abstract syntax tree using Ideograph. Ideograph has control flow information and data flow information for source program. So we use a Ideograph in order to produce a optimized Ideograph with control flow information and data flow information.

  • PDF

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

  • Kim, Jae-Il;Kim, Mun-Cheol
    • Broadcasting and Media Magazine
    • /
    • v.15 no.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 크기의 압축성능 및 선택비율을 분석한다.

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

  • 이홍규
    • Korean Institute of Interior Design Journal
    • /
    • no.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

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

  • Jung, Min-Kyoung;Hong, Dong-Kweon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.11a
    • /
    • 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

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

  • Jun Woong;Han Dong-soo
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • 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
    • Journal of the Korea Society of Computer and Information
    • /
    • v.21 no.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.

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

  • Kim, Young-Koun;Kwon, Hyeok-Ju;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • 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
    • /
    • v.43 no.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.

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

  • Keum, Chang-Sup;Lee, Joon-Kyung;Lee, Dong-Gill;Lee, Byung-Sun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.5
    • /
    • pp.1559-1569
    • /
    • 2000
  • CHILL96 is recommended as development language for telecommunication systems by ITU-T. In this paper, we describe the design and implementation of CHILL96 compiler using C++ intermediate code. Translation rules from CHILL96 to C++ are designed for code generation. The CHILL96 compiler is composed of four parts such s syntax analyzer, visibility checker, semantic analyzer and code generator, and each part has very close relationship with symbol table and abstract syntax tree. Performance evaluation has been performed for feasibility study. After performance evaluation, we conclude the CHILL96 compiler using C++ intermediate sho good performance compared with other CHILL compilers. In addition to high performance and portability, the CHILL96 compiler using C++ intermediate code helps application developers to maintain and enhance telecommunications software by translating CHILL96 program to C++ program.

  • PDF