Title :
Experience of Quick Parser Development from Free and Open Source Compilers
Author_Institution :
Dept. of Bus. Adm. & Inf. Sci., Chubu Univ., Aichi
fDate :
Oct. 18 2006-Sept. 20 2006
Abstract :
This paper describes some ideas about quick parser development from source code of a popular free and open source compiler using a new parser generator MJay. Moreover, it describes an experiment to show the performance. It is based on hard experiences of constructing reverse engineering tools, by oneself, which parse source code, extract design information and draw some diagrams. It is time-consuming and laborious to develop the parser according to traditional parser development. In this paper´s approach, a parser is separated into two steps. The first step, which is a modified compiler, reads source code, analyzes it and writes the parser behavior in XML. The second step reads the parser behavior in XML and analyze it. To develop the first step quickly, the new parser generator MJay was developed. MJay generates a parser in the first step, which is a commonly used LALR parser from traditional grammar rules. In addition, MJay generates other grammar rules for the second step. To check the performance, an experiment was designed. The result of the experiment shows the performance penalty from the point of view of the generated XML document size and the average execution time. However, the quick parser development is far superior against the performance penalty
Keywords :
XML; grammars; program compilers; public domain software; software engineering; LALR parser; MJay; XML; free and open source compilers; parser generator; quick parser development; source code; Binary codes; Computer languages; Costs; Data mining; Government; Information science; Linux; Open source software; Reverse engineering; XML;
Conference_Titel :
Communications and Information Technologies, 2006. ISCIT '06. International Symposium on
Conference_Location :
Bangkok
Print_ISBN :
0-7803-9741-X
Electronic_ISBN :
0-7803-9741-X
DOI :
10.1109/ISCIT.2006.339941