Logo PTI Logo FedCSIS

Communication Papers of the 18th Conference on Computer Science and Intelligence Systems

Annals of Computer Science and Information Systems, Volume 37

Compilation through interpretation

,

DOI: http://dx.doi.org/10.15439/2023F4830

Citation: Communication Papers of the 18th Conference on Computer Science and Intelligence Systems, M. Ganzha, L. Maciaszek, M. Paprzycki, D. Ślęzak (eds). ACSIS, Vol. 37, pages 103109 ()

Full text

Abstract. As static metaprogramming is becoming more relevant, compilers must adapt to accommodate them. This requires exposing more information about the code, from the compiler to the programmer as well as more powerful compile-time function execution capabilities. The Interpreter component of a compiler therefore becomes more important.

References

  1. N. D. Matsakis and F. S. Klock, “The rust language,” ACM SIGAda Ada Letters, vol. 34, no. 3, pp. 103–104, 2014. http://dx.doi.org/10.1145/2692956.2663188
  2. “Programming languages C++,” International Organization for Standardization, Geneva, CH, Standard, Mar. 1998. [Online]. Available: https://www.iso.org/standard/25845.html
  3. A. Puntambekar, COMPILER DESIGN. Technical Publications, 2011. ISBN 9350380870
  4. D. Novillo, “Gcc internals,” in International Symposium on Code Generation and Optimization (CGO), San Jose, California, 2007.
  5. Source generators. [Online]. Available: https://docs.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/source-generators-overview
  6. Dotnet. Roslyn. [Online]. Available: github.com/dotnet/roslyn
  7. S. Klabnik and C. Nichols, The Rust Programming Language (Covers Rust 2018). No Starch Press, 2019. ISBN 9781718503106
  8. “Programming languages C++,” International Organization for Standardization, Geneva, CH, Standard, Mar. 2020. [Online]. Available: https://www.iso.org/standard/79358.html
  9. N. Vermeir, “.net compiler platform,” in Introducing .NET 6. Springer, 2022. http://dx.doi.org/10.1007/978-1-4842-7319-7 pp. 275–295.
  10. M. Balliauw and X. Decoster, “Nuget package manager console powershell reference,” in Pro NuGet. Springer, 2013. http://dx.doi.org/10.1007/978-1-4302-6002-8_13 pp. 331–338.
  11. B. O. SLIMÁK and R. J. Pelikán, “Source generators in c#,” Master’s thesis, Department of Computer Systems and Communications, Masaryk University, 2022.
  12. A. Grabski, “Compilation through interpretation: static metaprogramming in c-=-1,” Master’s thesis, Warsaw University of Technology, 2022.
  13. A. Hejlsberg, S. Wiltamuth, and P. Golde, C# language specification. Addison-Wesley Longman Publishing Co., Inc., 2003. ISBN 978-0-321-15491-0
  14. “Programming languages C++,” International Organization for Standardization, Geneva, CH, Standard, Mar. 2017. [Online]. Available: https://www.iso.org/standard/68564.html
  15. M. Hsu, LLVM Techniques, Tips, and Best Practices Clang and Middle-End Libraries: Design powerful and reliable compilers using the latest libraries and tools from LLVM. Packt Publishing, 2021. ISBN 9781838829728
  16. C. Lattner, “Llvm and clang: Next generation compiler technology,” in The BSD conference, vol. 5, 2008.
  17. P. Dietz, T. Weigert, and F. Weil, “Formal techniques for automatically generating marshalling code from high-level specifications,” in Proceedings. 2nd IEEE Workshop on Industrial Strength Formal Specification Techniques, 1998. http://dx.doi.org/10.1109/WIFT.1998.766296 pp. 40–47.
  18. J. Zhao, S. Nagarakatte, M. M. Martin, and S. Zdancewic, “Formalizing the llvm intermediate representation for verified program transformations,” in Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, ser. POPL ’12. New York, NY, USA: Association for Computing Machinery, 2012. http://dx.doi.org/10.1145/2103656.2103709. ISBN 9781450310833 p. 427440. [Online]. Available: https://doi.org/10.1145/2103656.2103709
  19. A. Grabski, “Rose parser generator,” Bachelor’s thesis, Wydzia Elektroniki i Technik Informacyjnych, Politechnika Warszawska, 2020.