Skip to main content

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

  • Conference paper

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 262))

Abstract

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.

This research was supported by Basic Science Research Program through the National Research Foundation of Korea(NRF) funded by the Ministry of Education, Science and Technology(No.20110006884).

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Grune, D., Bal, H.E., Jacobs, C.J.H., Langendoen, K.G.: Modern Compiler Design. John Wiley & Sons (2000)

    Google Scholar 

  2. Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, & Tools. Addision-Wesley (2007)

    Google Scholar 

  3. Oh, S.M.: Introduction to Compilers, 3rd edn. Jungik Publishing, Seoul (2006)

    Google Scholar 

  4. Brosgol, B.M.: TCOLAda and the Middle End of the PQCC Ada Compiler. In: Proceedings of the ACM-SIGPLAN Symp. on The ADA Programming Lanugage, pp. 101–112 (1980)

    Google Scholar 

  5. Mithell, J.C.: Coercion and Type Interface. In: 11th ACM Symp. on Principles of Programming Languages, pp. 175–185 (1984)

    Google Scholar 

  6. The Objective-C Programming Language, Apple, http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html

  7. Aho, A.V., Johnson, S.C.: LR Parsing. ACM Computing Surveys 6(2), 99–124 (1974)

    Article  MATH  Google Scholar 

  8. Barth, J.M.: A practical interprocedural data flow analysis algorithm. Communications of the ACM 21(9), 724–736 (1978)

    Article  Google Scholar 

  9. Kernighan, B.W., Ritchie, D.M.: The C Programming Language, 2nd edn. Prentice Hall (1988)

    Google Scholar 

  10. Knuth, D.E.: The Genesis of Attribute Grammars. In: ACM Proceedings of the International Conference on Attribute Grammars and Their Applications, pp. 1–12 (1990)

    Google Scholar 

  11. Knuth, D.E.: Semantic of context-free languages. Mathematical Systems Theory 2(2), 127–145 (1968)

    Article  MathSciNet  MATH  Google Scholar 

  12. Koskimies, K.: A specification language for one-pass semantic analysis. In: Proceedings of the 1984 SIGPLAN Symposium on Compiler Construction, pp. 179–189 (1984)

    Google Scholar 

  13. Lee, Y.-S., Kim, Y., Kwon, H.: Design and Implementation of the Decompiler for Virtual Machine Code of the C++ Compiler in the Ubiquitous Game Platform. In: Szczuka, M.S., Howard, D., Ślęzak, D., Kim, H.-K., Kim, T.-H., Ko, I.-S., Lee, G., Sloot, P.M.A. (eds.) ICHIT 2006. LNCS (LNAI), vol. 4413, pp. 511–521. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  14. Lee, Y.S., Oh, S.M., Bae, S.M., Son, M.S., Son, Y.S., Shin, Y.H.: Development of C++ Compiler for Embedded Systems. Industry-Academia Cooperation Foundation of Seokyeong University (2006)

    Google Scholar 

  15. Muchnick, S.S.: Advanced Compiler Design Implementation. Morgan Kaufmann Press (1997)

    Google Scholar 

  16. Oh, S.M., Kim, J.S.: Extension of SG Compiler. Project Report, Research Center for Information Communication, Dongguk University (2001)

    Google Scholar 

  17. Paakki, J.: Attribute Grammar Paradigms – A High-Level Methodology in Language Implementation. ACM Computing Surveys 27(2), 196–255 (1995)

    Article  Google Scholar 

  18. Sherman, M.S., Borkan, M.S.: A flexible semantic analyzer for Ada. In: ACM SIGPLAN Notices, Proceeding of the ACM-SIGPLAN Symposium on Ada Programming Language, vol. 15(2), pp. 62–71 (1980)

    Google Scholar 

  19. Son, Y.S.: 2-Level Code Generation using Semantic Tree, Master Thesis, Dongguk University (2006)

    Google Scholar 

  20. Son, Y.S., Oh, S.M.: Construction of Enhanced Parser for Mobile Contents. In: MITA 2008, pp. 41–44 (2008)

    Google Scholar 

  21. Kim, Y.G., Kwon, H.J., Lee, Y.S.: Design and Implementation of a Decompiler for Verification and Analysis of Intermediate Code in ANSI C Compiler. Journal of Korea Multimedia Society 10(3), 411–419 (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Son, Y., Lee, Y. (2011). The Semantic Analysis Using Tree Transformation on the Objective-C Compiler. In: Kim, Th., et al. Multimedia, Computer Graphics and Broadcasting. MulGraB 2011. Communications in Computer and Information Science, vol 262. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27204-2_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-27204-2_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-27203-5

  • Online ISBN: 978-3-642-27204-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics