Code Generation Techniques in Compiler Design: Conceptual and Structural Review

  IJRES-book-cover  International Journal of Recent Engineering Science (IJRES)          
  
© 2022 by IJRES Journal
Volume-9 Issue-3
Year of Publication : 2022
Authors : JOHNSON Oluwatobi Akanbi, ALLEN Akinkitan Ajose, KAREEM Afiss Emiola
DOI : 10.14445/23497157/IJRES-V9I3P101

How to Cite?

JOHNSON Oluwatobi Akanbi, ALLEN Akinkitan Ajose, KAREEM Afiss Emiola, "Code Generation Techniques in Compiler Design: Conceptual and Structural Review," International Journal of Recent Engineering Science, vol. 9, no. 3, pp. 1-6, 2022. Crossref, https://doi.org/10.14445/23497157/IJRES-V9I3P101

Abstract
A compiler is designed as a language translator to interpret program instructions from high-level language or object layer to machine code. Compiler configuration covers essential interpretation instruments and blunders discovery and recovery. It incorporates lexical components, linguistic structures, and semantic mechanisms as the front end and code generation and streamlining as the back end. In this paper, selected code generation techniques were structurally x-rayed. The structural review revealed the peculiar strategy and individual traits that serve as a determinant factors for specific applications and circumstances for execution.

Keywords
Code generation, Compiler design, Computing construct, Syntactic parsing, Intermediate execution.

Reference
[1] G.A. Ayeni and A.N. Ojekudo, “Theory and Computer Programming for Optimization of Combinatorial Problems,” International Journal of Engineering in Industrial Research (IJIRES), vol. 2, no. 2, pp. 77-81, 2021.
[2] H.J. Brainkart, “Relevance of Peephole Optimization to Compiler Design,” 2021, [Online]. Available: https://www.javatpoint.com/three-address-code
[3] T.M. Douglas and A.N. Ojekudo, “Juxtaposing Python with BASIC in the Context of Introductory Programming,” Journal of Environmental Science, Computer Science and Engineering Technology (JECET), vol. 9, no. 1, pp. 15-20, 2020.
[4] A.S. Edwards and J. Zeng, “Code Generation in Columbia Esterel Compiler, EURASIP,” International Journal on Embedded Systems, vol. 2, no. 6, pp. 45-57, 2006.
[5] S.S. Ghanzala & I.Noman, “A Qualitative Study of Major Programming Languages to Computer Science Students,” Journal of Information and Communication Technology, vol. 10, no. 1, pp. 24-34, 2016.
[6] “Geeks for Geeks Peephole Optimization in Compiler Design,” 2018, [Online]. Available: https://www.geeksforgeeks.org/peepholeoptimization-in-compiler-design
[7] R.S. Glanville & S.L. Graham., “A New Method for Compiler Code Generation,” in Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, vol. 10, no. 4, pp. 109-116, 2008.
[8] A.N. Ojekudo, “Computer Programming Bridge,” Port Harcourt: Emmanest Ventures and Data Communication, 2019.
[9] M. Poole & C. Whyley, “Lexical and Semantic Design of Compilers,” 2012, [Online]. Available: www.compsci.swan.ac.uk /cschris /compiler,
[10] “The Technical Analysis of Code Generation for Multi Parse Compiler”, Wikipedia, 2021, [Online]. Available: https://en.wikipedia.org/wiki/Code_generation_%28compiler%29#cite_note-MuchnickAssociates-1
[11] A.V.Aho, R.Sethi & J.D.Ullman, “Compilers Principles, Techniques & Tools,” Pearson Education, 2006.
[12] SK. Debray, W. Evans, R. Muth & B. De Sutter, “Compiler Techniques for Code Compaction,” ACM Transactions on Programming Languages and Systems, vol. 22, no. 2, pp. 378-415, 2000.
[13] A. V. Aho, M. Ganapathi, and S. W. K. Tjiang, “Code Generation Using Tree Matching and Dynamic Programming,” ACM Transactions on Programming Languages and Systems, vol. 11, no. 4, pp. 491-516, 1989.
[14] A. V. Aho and S. C. Johnson, “Optimal Code Generation for Expression Trees,” Journal of the ACM, vol. 23, no. 3, pp. 488-501, 1976.
[15] A. Balachandran and D. M. Dhamdhere, “Efficient Retargetable Code Generation Using Bottom-Up Tree Pattern Matching,” Journal of Computer Languages, vol. 15, no. 3, pp. 127-140, 1990.
[16] H. Emmelmann, F.W. Schroer, & R. Landwehr, “BEG — A Generator for Efficient Back Ends,” in Proceedings of the SIGPLAN’89 Conference on Programming Language Design and Implementation, SIGPLAN Notices, vol. 24, no. 7, pp. 227-237, 1989.
[17] C. W. Fraser, “A Language for Writing Code Generators,” in Proceedings of the SIGPLAN’89 Conference on Programming Language Design and Implementation, SIGPLAN Notices, vol. 24, no. 7, pp. 238-245, 1989.
[18] C. W. Fraser, R. R. Henry, and T. A. Proebsting, “BURG—Fast Optimal Instruction Selection and Tree Parsing,” in Proceedings of the SIGPLAN, Notices, vol. 27, no. 4, pp. 68-76, 1992.
[19] Deepak Singh, Mr. Mohan Rao Mamdikar, “Identify a Person from Iris Pattern using GLCM features and Machine Learning Techniques,” SSRG International Journal of Computer Science and Engineering, vol. 7, no. 9, pp. 25-29, 2020. Crossref, https://doi.org/10.14445/23488387/IJCSE-V7I9P105
[20] C. M. Hoffman and M. J. O’Donnell, “Pattern Matching in Trees,” Journal of the ACM, vol. 29, no. 1, pp. 68-95, 1982.
[21] D. R. Chase, “An Improvement to Bottom-up Tree Pattern Matching,” In Conference Record of the ACM Symposium on Principles of Programming Languages, vol. 30, no. 1, pp. 168-177, 1987.