||A simple aspect-oriented language based on C#
||Probst, Christian W. (Language-Based Technology, Department of Informatics and Mathematical Modeling, Technical University of Denmark, DTU, DK-2800 Kgs. Lyngby, Denmark)
||Technical University of Denmark, DTU, DK-2800 Kgs. Lyngby, Denmark
||This report, titled "A simple aspect-oriented language based on C#" is about my
work on designing and implementing an aspect-oriented programming language.
Aspect-oriented programming is a programming paradigm that seeks to enhance
the modularity of programs, by facilitating the separation of cross-cutting concerns.
Many common problems, such as logging, security and synchronisation,
requires code that cuts across a series of other modules. Aspect-oriented programming
allows the programmer to separate and encapsulate these functionalities,
so tangling of the code can be avoided.
During this report, I will describe how I design and implement an aspect-oriented
extension to the programming language C#, by developing a preprocessor containing
a parser, which is able to generate a syntax tree based on the C# code
given as input, and an aspect weaver, whose job it is to modify this syntax tree
with the intent of weaving the different aspects of the program together.
The product of this project is a first version of an implementation of an aspectoriented
extension of the C# language, containing a series of basic functionality
that illustrates the use of aspect-oriented programming in a modern programming
||Technical University of Denmark (DTU) : Kgs. Lyngby, Denmark
Creation date: 2009-07-01
Update date: 2010-10-28