Title :
Compiler Design for Hyper-metaprogramming
Author :
Teodorescu, Laurentiu ; Potolea, Rodica
Author_Institution :
Comput. Sci. Dept., Tech. Univ. of Cluj-Napoca, Cluj-Napoca, Romania
Abstract :
Although static metaprogramming is not a new technique and is present in some of the most popular programming languages today, it is still considered an esoteric feature. This is mainly because writing metaprograms requires syntactic constructs and programming abstractions different from those used for writing regular programs. We propose in this paper the concept of hyper-metaprogramming, a new kind of Turing-complete compile-time metaprogramming, which allows metaprograms to be written in the same way as traditional programs: with the same abstractions, syntax, and semantics. Using this feature, programmers can easily implement any complex algorithms and data structures at compile-time, before producing the final run-time program. The paper focuses on discussing the main mechanisms involved in implementing hyper-metaprogramming.
Keywords :
program compilers; programming language semantics; Turing-complete compile-time metaprogramming; compiler design; complex algorithms; data structures; hyper-metaprogramming; metaprogram writing; program abstractions; program semantics; program syntax; programming abstractions; programming languages; run-time program; static metaprogramming; syntactic constructs; Abstracts; Computer languages; Program processors; Programming; Semantics; Syntactics;
Conference_Titel :
Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2013 15th International Symposium on
Conference_Location :
Timisoara
Print_ISBN :
978-1-4799-3035-7
DOI :
10.1109/SYNASC.2013.34