A symbol table verification method for JavaScript compiler using reverse translator on HTML5 smart virtual machine

Yunsik Son, Seman Oh, Yangsun Lee

Research output: Contribution to journalArticlepeer-review

Abstract

The Smart Cross Platform is a virtual machine based solution that supports various programming languages and platforms, and its aims are to support programming languages like ISO/TEC C++, Java and Objective C and smartphone platforms such as Android and iOS. Java Script is a programming language to develop HTML5 contents, and the contents are executed by interpreter which included in web browser unlike compilation based programming and execution methods. In this paper, we will introduce the symbol table for the JavaScript compiler and its verification. 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. Proposed reverse translator reconstructs inputted JavaScript declarations by using information of the symbol table entered in the declaration process phase of the JavaScript 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 JavaScript compiler.

Original languageEnglish
Pages (from-to)3259-3266
Number of pages8
JournalInformation (Japan)
Volume20
Issue number5
StatePublished - May 2017

Keywords

  • Compiler construction
  • Ecma script
  • JavaScript compiler
  • Reverse translator
  • Smart Cross Platform
  • Symbol table verification
  • Virtual machine

Fingerprint

Dive into the research topics of 'A symbol table verification method for JavaScript compiler using reverse translator on HTML5 smart virtual machine'. Together they form a unique fingerprint.

Cite this