A study on verification and analysis of symbol tables for development of the C++ compiler

Yang Sun Lee, Yun Sik Son

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

The existing C++ compilers are designed to translate C++ source programs into target codes and then execute them. This translation method is that a compiler that translates C++ source programs to target codes has to be available for each platform. Reusability and portability of codes will also decrease because target codes have to be different for each platform they are run under. For that reason, much research is taking place in various fields in an effort to develop a retargetable compiler and a virtual machine that execute application programs without recompiling or modifying them though processor or operating systems are changed. We have developed the C++ compiler for the SVM(Smart Virtual Machine) of the smart platform on smart systems. As a part of the C++ compiler development, we designed the symbol table that can support object-oriented languages, C++ and java. The symbol table is a data structure to keep track of scope and binding information about names (or identifiers). Various information is entered into the symbol table after visiting and analyzing the abstract syntax tree generated by syntax-directed translation, and then is used to check whether the use of names is consistent with their definition during the semantic analysis phase and generate a valid code during the code generation phase. In this paper, we describe the reconstruction technique for verifying and analyzing the symbol table designed for the C++ compiler. This system reconstructs inputted C++ declarations by using information of the symbol table entered in the declaration process phase of the C++ compiler, and therefore we can verify completeness of symbol table design and correctness of information entered in the symbol table. In addition, this system also produces debug information, and so is effectively utilized for the development of the C++ compiler.

Original languageEnglish
Pages (from-to)175-186
Number of pages12
JournalInternational Journal of Multimedia and Ubiquitous Engineering
Volume7
Issue number4
StatePublished - 2012

Keywords

  • C++ compiler
  • Reverse translator
  • SVM(Smart Virtual Machine)
  • Symbol table

Fingerprint

Dive into the research topics of 'A study on verification and analysis of symbol tables for development of the C++ compiler'. Together they form a unique fingerprint.

Cite this