• Title/Summary/Keyword: Source language

Search Result 493, Processing Time 0.026 seconds

Development of a Code Generation Support System in Integrated Development Environment of an Educational Compiler

  • Kwon, Jung-Hoon;Bae, Jong-Min
    • Journal of the Korea Society of Computer and Information
    • /
    • v.21 no.11
    • /
    • pp.159-166
    • /
    • 2016
  • Compiler course is one of the important courses in computer science. It requires more efficient learning environment because of its large coverage scale and complexity. One of its solutions is to provide the integrated development environment for educational compilers which is enable to give practice-oriented class and enhance student's interest. This paper presents the code generation support system developed in an integrated development environment of educational compiler. Our system helps students to understand the process of code generation and visualizes the relation among the source language, AST, and the target language. It makes students develop their own compilers more easily.

A Study on Visibility Graph Generating Model of Ada Program (Ada 프로그램의 Visibility Graph 생성모델에 관한 연구)

  • Jeong Jung-Yeong;Kim Hui-Ju;Yun Chang-Seop
    • Journal of the military operations research society of Korea
    • /
    • v.16 no.2
    • /
    • pp.56-74
    • /
    • 1990
  • Programming-in-the-Large refers to software development environment and includes the organization and representation of a system structure, module decomposition, component dependence analysis, seperate compilation, subsystem and composition identification. The most intricate problem in this environment is the mastery of the structural complexity of large software systems. Ada programming language is tailored to the needs for building of large, integrated software systems from many program units. The visibility graph generating model presented in this paper transforms Ada source program into a visibility graph with nodes for program units and edges for visibility relations among program units. The system description in terms of program units and their visibility relations produced by this model can be utilized for some apects of Programming-in-the-Large environment and also assists designeers, programmers, integrators and maintainers in defining, understanding and exploring the structure of evolving software systems. The model designed and implemented in Ada programming language runs on PCs and will remain useful both in practice and as experimental tool.

  • PDF

XML Mapper System for Structural Document Translation (구조적 문서 변환을 위한 XML Mapper 시스템 설계 및 구현)

  • 성길용;강치원;정회경
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.04a
    • /
    • pp.382-384
    • /
    • 2001
  • 인터넷 문서 표준인 XML(eXtensible Markup Language)을 기반으로 한 전자문서의 교환과 처리가 다양한 시스템에 응용되고 사용범위가 넓어짐에 따라, 각 분야와 특성에 따른 XML문서의 표준이 정의되고 있다. 그러나 특정 단체나 플랫폼에 맞추어 정의된 XML문서 표준은 각기 다른 구조를 지니고 있기 때문에 이들간의 효율적인 문서의 교환과 처리를 위해서는 서로 다른 구조를 연결해 줄 수 있는 중재(Meditation) 역할의 처리가 요구된다. 이에 본 논문에서는 XML문서의 구조적 정보를 갖는 XML 스키마(Schema)를 통해, 데이터를 제공하는 원본(Source)측과 데이터를 처리하고자 하는 대상(Destination)측간의 연결규칙을 정의하고 이에 맞게 문서 구조를 변환하는 처리를 담당할 XSL(eXtensible Stylesheet Language)스타일 시트를 생성하는 XML 맵퍼(Mapper) 시스템을 설계 및 구현하였다.

Web Page Similarity based on Size and Frequency of Tokens (토큰 크기 및 출현 빈도에 기반한 웹 페이지 유사도)

  • Lee, Eun-Joo;Jung, Woo-Sung
    • Journal of Information Technology Services
    • /
    • v.11 no.4
    • /
    • pp.263-275
    • /
    • 2012
  • It is becoming hard to maintain web applications because of high complexity and duplication of web pages. However, most of research about code clone is focusing on code hunks, and their target is limited to a specific language. Thus, we propose GSIM, a language-independent statistical approach to detect similar pages based on scarcity and frequency of customized tokens. The tokens, which can be obtained from pages splitted by a set of given separators, are defined as atomic elements for calculating similarity between two pages. In this paper, the domain definition for web applications and algorithms for collecting tokens, making matrics, calculating similarity are given. We also conducted experiments on open source codes for evaluation, with our GSIM tool. The results show the applicability of the proposed method and the effects of parameters such as threshold, toughness, length of tokens, on their quality and performance.

An Investigation on Semantic Web-based Business Support: Ontology development and inference framework for the course recommendation

  • Kim, Jin-S.
    • Journal of the Korean Institute of Intelligent Systems
    • /
    • v.20 no.4
    • /
    • pp.554-561
    • /
    • 2010
  • As a fundamental knowledge source in a global learning environment, it is feasible to apply the relational database management systems (RDBMS), object-oriented database management systems (OODBMS), and other traditional DBMS. However, the traditional DBMSs are not feasible in semantic knowledge/ontology representation and inference. One of the reasonable ways to overcome the limitations is the semantic web-based business support framework. Especially, in this study, we focused on the development of semantic web ontology and natural language (NL)-based inference framework. To validate the efficiency of the proposed framework, we considered a reasonable scenario for course recommendation in a university.

A Network Analysis of Event Nouns (사건명사의 네트워크 분석)

  • Kim, Hye-Young;Kang, Beom-Mo;Lee, Do-Gil
    • Annual Conference on Human and Language Technology
    • /
    • 2010.10a
    • /
    • pp.94-99
    • /
    • 2010
  • This paper is to present how a network between words is formed. Not only have we looked at the distributivity, frequency and strength in connections between related words, but we have also presented some way to shed lights on what this network means to linguistic and social studies. The target source is morpho-analysis components of Trends 21 corpus which cover all newspaper articles from lour major newspapers, including Chosun, Joongang, Donga, and Hankyoreh, issued between 2000 and 2008. Based on nodes, links, and their connectivity indexes - density, degree, and centralizations, we have been able to retrieve and cluster related words forming the network with 20 event nouns. To reduce noise, we have considered the words whose t-score is above 1.64. By conducting both network and statistical analyses, we have presented the network of each event noun.

  • PDF

Developing a Bridge Module to Java Component for SID Simulator (SID 시뮬레이터와 자바 컴포넌트 연동 모듈 개발)

  • Ma'ruf, Hasrul;Kwon, Jin Baek
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.11a
    • /
    • pp.1635-1637
    • /
    • 2010
  • Simulation tools help creating a low cost and efficient development of embedded system. SID is an open source simulator software that consists library of components for modelling hardware and software components. A component can be written in C/C++ and Tcl/Tk. Currently, the SID simulation toolkit only provides support for C++ and Tcl/Tk. Tcl/Tk is used to write GUI-based components. However, we have observed that Tcl/Tk components cause slow simulation response because Tcl/Tk is a script language. It is not proper for developing the cutting-edge products with rich graphics. Therefore, in this paper, we suggest Java to a new language for GUI components in SID by developing a bridge module for SID to interworking with Java components.

A Concise Korean Programming Language "Sprout" (간결한 한글 프로그래밍 언어 "새싹")

  • Cheon, Junseok;Kang, Dohun;Kim, Gunwoo;Woo, Gyun
    • Journal of KIISE
    • /
    • v.42 no.4
    • /
    • pp.496-503
    • /
    • 2015
  • Most programming languages are designed based on English. It becomes another barrier in learning programming languages in non-English speaking country. If a programming language is presented using a native language, the education cost of programming will be much cheaper and the programming itself can be much more fun. However, designing the programming languages based on native languages has not been much focused or published up to now. It is partly because the evolution of popular programming languages is so fast, and partly because the efficiency of programs is much stressed than the source code. But, the designing of programming languages based on native language is not a small issue, especially if we reflect on the education of programming. In fact, there have been significant efforts reported in the Korean programming languages so far, but it has not practically been used in the education. This paper introduces yet another Korean programming language, namely Sprout, which is concise and can be easily learned by beginners. To demonstrate the conciseness of Sprout, we have performed two experiments on Sprout. Firstly, we compared the sizes of the programs in Sprout with those in former Korean programming languages. Secondly, we compared the size of Sprout, the language itself, with those of popular programming languages such as C and Python. According to the experiments, Sprout programs are more concise to 10% on average than those in former Korean languages. Furthermore, Sprout itself is more compact to 24% on average than other popular programming languages.

Design and Implementation of the Smart Virtual Machine for Smart Cross Platform (스마트 크로스 플랫폼을 위한 스마트 가상기계의 설계 및 구현)

  • Han, Seong-Min;Son, Yun-Sik;Lee, Yang-Sun
    • Journal of Korea Multimedia Society
    • /
    • v.16 no.2
    • /
    • pp.190-197
    • /
    • 2013
  • Since domestic and foreign platform companies and mobile carriers adopt and use different kinds of smart platforms, developers should develop or convert contents according to each smart platform to provide a single smart content for customers. It takes long time and a lot of money to convert the conventional smart contents in order to serve other smart platforms. For the reason, more attention has been paid on Smart Cross Platform or Hybrid Platform, the core technologies of OSMU(One Source Multi Use) in which, once a program is coded, it can be executed in any platforms regardless of development languages. As a result, PhoneGap and HTML5 based Sencha Touch have been introduced. In this paper, we developed the smart virtual machine, which is built in smart cross platform based smart devices, unlike Android, iOS, Windows Phone devices being dependent of platforms, and helps to download and execute applications, being independent of platforms. the smart virtual machine supports C/C++, and Java language, being differentiated from JVM by sun microsystems that supports only Java language and .NET framework by microsoft that supports only C, C++ and C#. Therefore, it provides contents developers with the environment where they can get a wide range of options in choosing a language and develop smart contents.

Program Translation from Conventional Programming Source to Java Bytecode (기존 프로그래밍 원시코드에서 자바 바이트 코드로의 변환)

  • Jeon-Geun Kang;Haeng-Kon Kim
    • Journal of the Korea Computer Industry Society
    • /
    • v.3 no.8
    • /
    • pp.963-980
    • /
    • 2002
  • Software reengineering is making various research for solutions against problem of maintain existing systems. Reengineering has a meaning of development of software on exizting systems through the reverse engineering auf forward engineering. Most of the important concepts used in reengineering is composition that is restructuring of the existing objects. Is there a compiler that can compile a program written in a traditional procedural language (like C or Pascal) and generate a Java bytecode, rather than an executable code that runs oかy on the machine it was compiled (such as an a.out file on a Unix machine)\ulcorner This type of compiler may be very handy for today's computing environment of heterogeneous networks. In this paper we present a software system that does this job at the binary-to-binary level. It takes the compiled binary code of a procedural language and translates it into Java bytecode. To do this, we first translate into an assembler code called Jasmin [7] that is a human-readable representation of Java bytecode. Then the Jasmin assembler converts it into real Java bytecode. The system is not a compiler because it does not start at the source level. We believe this kind of translator is even more useful than a compiler because most of the executable code that is available for sharing does not come with source programs. Of course, it works only if the format of the executable binary code is known. This translation process consists of three major stages: (1) analysis stage that identifies the language constructs in the given binary code, (2) initialization stage where variables and objects are located, classified, and initialized, and (3) mapping stage that maps the given binary code into a Jasmin assembler code that is then converted to Java bytecode.

  • PDF