Modern assemblers provide powerful macro facilities to enable programmers to create their own high level constructs. In contrast, many high level languages have at best very limited macro capabilities. The macro facility provided by the C preprocessor has been almost universally derided. We examine the limitations imposed by the lack of macro facilities for pattern programming, object persistence and object communication. We propose a metacompiler (a translator from a superset C++ language) that provides macros integrated into the language as meta-functions and meta-variables of meta-classes. We show how a variety of simple facilities provided at the meta-level can allow patterns to be expressed directly, substantially reduce the lexical si...
C program syntax, optionally annotated with meta-annotations. The syntax of meta-annotations is the ...
High-level programming languages have been developed to simplify the communication problem between t...
Template metaprogramming is an emerging new direction of gen-erative programming: with the clever de...
Software Engineering progresses as improvements are made in languages and methodologies. Significant...
Design patterns are distilled from many real systems to catalog common programming practice. We have...
Domain specific languages embedded in C++ (EDSLs) often use the techniques of template metaprogrammi...
techniques are being used to generate highly customized and optimized products automatically manufac...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
This document describes a meta-level architecture for the MPC ++ programming language. The MPC ++ me...
A pattern identifies a general approach to solving a problem, typically capturing a solution practic...
"From now on, a main goal in designing a language should be to plan for growth."Guy Steele: Growing ...
AbstractSeveral software development tools support the matching of concrete syntax user-supplied pat...
“From now on, a main goal in designing a language should be to plan for growth. ” Guy Steele: Growin...
C++ is a multi-paradigm language. The two main paradigms in C++ are object-oriented programming and ...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
C program syntax, optionally annotated with meta-annotations. The syntax of meta-annotations is the ...
High-level programming languages have been developed to simplify the communication problem between t...
Template metaprogramming is an emerging new direction of gen-erative programming: with the clever de...
Software Engineering progresses as improvements are made in languages and methodologies. Significant...
Design patterns are distilled from many real systems to catalog common programming practice. We have...
Domain specific languages embedded in C++ (EDSLs) often use the techniques of template metaprogrammi...
techniques are being used to generate highly customized and optimized products automatically manufac...
This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-tim...
This document describes a meta-level architecture for the MPC ++ programming language. The MPC ++ me...
A pattern identifies a general approach to solving a problem, typically capturing a solution practic...
"From now on, a main goal in designing a language should be to plan for growth."Guy Steele: Growing ...
AbstractSeveral software development tools support the matching of concrete syntax user-supplied pat...
“From now on, a main goal in designing a language should be to plan for growth. ” Guy Steele: Growin...
C++ is a multi-paradigm language. The two main paradigms in C++ are object-oriented programming and ...
Abstract. Template metaprogramming (TMP) is an emerging new di-rection in C++ programming for execut...
C program syntax, optionally annotated with meta-annotations. The syntax of meta-annotations is the ...
High-level programming languages have been developed to simplify the communication problem between t...
Template metaprogramming is an emerging new direction of gen-erative programming: with the clever de...