期刊名称:International Journal of Multimedia and Ubiquitous Engineering
印刷版ISSN:1975-0080
出版年度:2012
卷号:7
期号:4
出版社:SERSC
摘要: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.
关键词:C++ Compiler; SVM(Smart Virtual Machine); Symbol Table; Reverse;Translator