New WPF look of Visual Studio 2010

A few days ago, Microsoft, through Jason Zander, General Manager of Visual Studio, has revealed the new look of Visual Studio 2010 at the VSLive conference. Several screenshots and description of the new look you can find on Zander’s blog. The new editor is using WPF and makes extensive usage of .NET 4.0. Here is…

C++ static_assert, a niche feature

The new C++ standard defines a new keyword, static_assert, that is already available in Visual Studio 2010 CTP. This new feature allows introducing compile time asserts. It takes an expression that can evaluate to bool and a string. If the expression evaluates to false, the compiler issues an error with the given string literal. If…

Lambdas in C++

The new C++0x standard adds lambda expressions to the language. Visual Studio 2010 CTP is already supporting this new feature that brings functional techniques to C++ too. What is a lambda expression? It’s basically a function. In F# it’s an anonymous function, in C# it’s an anonymous delegate; in C++ it’s in fact an anonymous…

Optional and Named Parameters in C# 4.0

So far, C#, unlike C++, did not support optional arguments. For instance, suppose you need a function to print log a message, that can add a new line or not after writing the message. Most of the times you want a new line, so you don’t want to specify that for most of the calls….

Type inference in C++

The new C++0x standard provides support for type inference. The auto keyword that was doing nothing in C++ was given a new meaning: a placeholder for a type inferred by the compiler. For those familiar with C#’s var keyword, this is basically the same. Here is a comparison between auto in C++ and var in…

European PASS Conference

Urmatoarea conferinta europeana PASS (Professional Association of SQL Server) va avea loc intre 22-24 Aprilie 2009 la Neuss in Germania. AXTI a obtinut un promo-code pentru membrii RONUA si DboDev (RO16F6). Cei interesati de a participa si a beneficia de aceasta reducere, vizitati blog-ul lui Aurelian, unde puteti afla mai multe informatii.

A New Look

After blogging for two years I have decided to make a change in the look of my blog. So I have changed the appearance theme from ‘indigo’ to ‘coogee’. I think it looks better and hopefully will prove to be a better “reader experience”. I tested the new theme on IE7, Firefox 3, Google Chrome…

Evaluate Expressions – Part 4: Evaluate the Abstract Syntax Tree

Evaluate Expressions – Part 1: The Approaches Evaluate Expressions – Part 2: Parse the Expression Evaluate Expressions – Part 3: Building the Abstract Syntax Tree Evaluate Expressions – Part 4: Evaluate the Abstract Syntax Tree So far we have managed to parse the text representing an expression and build an abstract syntax tree. The only…

Evaluating Expressions – Part 3: Building the AST

In my previous post we’ve parsed an exception verifying whether it’s correct or not syntactically. But we still have to evaluate it. To be able to do that we’ll have to build an abstract syntax tree. This can be done by modifying the previous code and inserting semantic action. That means we do something more…

Evaluating Expressions – Part 2: Parse the Expression

In my previous post I have provided some background theory for evaluating expressions with abstract syntax trees. As I was mentioning, the first step towards this goal is to parse the expression, make sure it is correct syntactically. This is what I’ll show you in this post. Having the grammar defined, we’ll make one function…