The Semantic Analysis Using Tree Transformation on the Objective-C Compiler

Semantic Analysis is a process which analyzes the validity of a meaning created by combining a program’s different constituents, and this process has become indispensable component for producing a compiler. It uses the attribute grammar method or the manual method however such methodology holds limitations in terms of efficiency or automation. In this study, in order to make up for the drawbacks mentioned above, a semantic tree which includes the analyzed information will be defined and a technique to convert the abstract syntax tree used in most compilers – a result of syntax analysis – into a semantic tree will be proposed. The semantic tree transformation technique processes semantic analysis on a semantic node unit level and the semantic analysis process is carried out consistently and efficiently. In addition, the semantic tree transformation makes transformation of data structures and automation very simple.

[1]  Maracin S. Szczuka Advances in Hybrid Information Technology, First International Conference, ICHIT 2006, Jeju Island, Korea, November 9-11, 2006, Revised Selected Papers , 2007, ICHIT.

[2]  Henri E. Bal,et al.  Modern Compiler Design , 2000, Springer New York.

[3]  Yunsik Son,et al.  Construction of Enhanced Parser for Mobile Contents , 2008 .

[4]  Donald E. Knuth,et al.  The Genesis of Attribute Grammars , 1990, WAGA.

[5]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[6]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[7]  Alfred V. Aho,et al.  LR Parsing , 1974, ACM Comput. Surv..

[8]  John C. Mitchell,et al.  Coercion and type inference , 1984, POPL.

[9]  Kai Koskimies A specification language for one-pass semantic analysis , 1984, SIGPLAN '84.

[10]  Mark S. Sherman,et al.  A flexible semantic analyzer for Ada , 1980, SIGPLAN '80.

[11]  Jukka Paakki,et al.  Attribute grammar paradigms—a high-level methodology in language implementation , 1995, CSUR.

[12]  Young-Keun Kim,et al.  Development of a Decompiler for Verification and Analysis of an Intermediate Code in ANSI C Compiler , 2007 .

[13]  Benjamin M. Brosgol TCOLAda and the “Middle End” of the PQCC Ada compiler , 1980, SIGPLAN '80.

[14]  YangSun Lee,et al.  Design and Implementation of the Decompiler for Virtual Machine Code of the C++ Compiler in the Ubiquitous Game Platform , 2006, ICHIT.

[15]  Jeffrey M. Barth A practical interprocedural data flow analysis algorithm , 1978, CACM.

[16]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.