Simple Universal Translator as an Alternative Compiler-Compiler

2019;
: pp. 105 - 109
1
Lviv Polytechnic National University, Computer Engineering Department
2
Lviv Polytechnic National University

This article deals with ways of how to implement a simple universal translator. Such universal translator may be an alternative to the compiler-compiler.

[1] Aho, Sethi, Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, 1986. ISBN 0-201-10088-6.

[2] Peter Mosses, "SIS: A Compiler-Generator System Using Denotational Semantics," Report 78-4-3, Dept. of Computer Science, University of Aarhus, Denmark, June 1978.

[3] C. Stephen Carr, David A. Luther, Sherian Erdmann, The TREE- META Compiler-Compiler System: A Meta Compiler System for the Univac 1108 and General Electric 645, University of Utah Technical Report RADC-TR-69-83.

[4] Spirit 2.5.5. https://www.boost.org/doc/libs/1_67_0/libs/spirit/doc/html/i ndex.html 12.12.2019.

[5] Lesk, M.E.; Schmidt, E. "Lex - A Lexical Analyzer Generator". Retrieved August 16, 2010.

[6] Levine, John R.; Mason, Tony; Brown, Doug (1992). lex & yacc (2 ed.). O'Reilly. pp. 1-2. ISBN 1-56592-000-7.

[7] The LLVM Compiler Infrastructure Project. Retrieved March 11, 2016.

[8] Melnyk, A., Salo, A., Klymenko, V., Tsyhylyk, L. "Chameleon - system for specialized processors high-level synthesis", Scientific-technical magazine of National Aerospace University "KhAI", Kharkiv, 2009. Nо. 5, P. 189-195.

[9] S.-I. Lee, T. Johnson, and R. Eigenmann. Cetus - an extensible compiler infrastructure for source-to-source transformation. In Proc. Workshops on Languages and Compilers for Parallel Computing, 2003.
https://doi.org/10.1007/978-3-540-24644-2_35

[10] S. Lee, S.-J. Min, and R. Eigenmann. OpenMP to GPGPU: A compiler framework for automatic translation and optimization. In Proc. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2009.
https://doi.org/10.1145/1504176.1504194

[11] Y. Liu, E. Z. Zhang, amd X. Shen. A Cross-Input Adaptive Framework for GPU Program Optimization. In Proc. IEEE International Parallel & Distributed Processing Symposium, 2009.

[12] M. Baskaran, U. Bondhugula, S. Krishnamoorthy, J. Ramanujam, A. Rountev, and P. Sadayappan. Automatic Data Movement and Computation Mapping for Multi-level Parallel Architectures with Explicitly Managed Memories. In Proc. ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2008.
https://doi.org/10.1145/1345206.1345210

[13] L.-N. Pouchet, C. Bastoul, A. Cohen, and N. Vasilache. Iterative optimization in the polyhedral mode: part I, on dimensional time. In Proc. International Symposium on Code Generation and Optimization, 2007.
https://doi.org/10.1109/CGO.2007.21

[14] K. Datta, M. Murphy, V. Volkov, S. Williams, J. Carter, L. Oliker, D. Patterson, J. Shalf, and K. Yelick, "Stencil computation optimization and auto-tuning on state-of-the-art multicore architectures," in Proceedings of the 2008 ACM/IEEE conference on Supercomputing, 2008,p. 4.
https://doi.org/10.1109/SC.2008.5222004

[15] J. Ansel, Y. L. W. ans Cy Chan, M. Olszewski, A. Edelman, and S. Amarasinghe, "Language and compiler support for auto-tuning variable- accuracy algorithms," in The International Symposium on Code Generation and Optimization, ser. CGO '11, 2011.
https://doi.org/10.1109/CGO.2011.5764677

[16] J. Kurzak, H. Anzt, M. Gates, and J. Dongarra, "Implementation and tuning of batched Cholesky factorization and solve for NVIDIA GPUs," IEEE Transactions on Parallel and Distributed Systems, vol. 27, no. 7, 2016.
https://doi.org/10.1109/TPDS.2015.2481890

[17] A. Magni, C. Dubach, and M. O'Boyle, "Automatic optimization of thread-coarsening for graphics processors," in Proceedings of the 23rd International Conference on Parallel Architectures and Compilation, ser. PACT '14, 2014, pp. 455-466.
https://doi.org/10.1145/2628071.2628087

[18] S. Unkule, C. Shaltz, and A. Qasem, "Automatic restructuring of GPU kernels for exploiting inter-thread data locality," in Proceedings of the 21st International Conference on Compiler Construction, ser. CC'12, 2012, pp. 21-40.
https://doi.org/10.1007/978-3-642-28652-0_2

[19] Y. Yang, P. Xiang, J. Kong, M. Mantor, and H. Zhou, "A unified optimizing compiler framework for different gpgpu architectures," ACM Trans. Archit. Code Optim., vol. 9, no. 2, pp. 9:1-9:33, 2012.
https://doi.org/10.1145/2207222.2207225

[20] C. Lattner and V. Adve, "LLVM: A compilation framework for lifelong program analysis & transformation," in Proceedings of the International Symposium on Code Generation and Optimization: Feedback directed and Runtime Optimization, ser. CGO '04, 2004.

[21] F. Bodin, T. Kisuki, P. Knijnenburg, M. O'Boyle, and E. Rohou. "Iterative compilation in a non-linear optimisation space," in Workshop on Profile and Feedback-Directed Compilation, 1998.

[22] P. M. Knijnenburg, T. Kisuki, and M. F. O'Boyle, "Combined selection of tile sizes and unroll factors using iterative compilation," The Journal of Supercomputing, vol. 24, no. 1, pp. 43-67, 2003.

[23] F. Agakov, E. Bonilla, J. Cavazos, B. Franke, G. Fursin, M. F. P. O'Boyle, J. Thomson, M. Toussaint, and C. K. I. Williams, "Using machine learning to focus the iterative optimization," in Proceedings of the International Symposium on Code Generation and Optimization, ser. CGO '06, 2006, pp. 295-305.