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 … Read more

Evaluating Expressions – Part 1: The Approaches

I was discussing a few days ago about evaluating expressions and I decided to explain how you can build an evaluator. I will do this in a series of posts, getting one step more in each post. I will use C++, but the approaches are the same regardless the language. Let’s consider this expression: 1+2*3. … Read more

VSBuildStatusAddin for Visual Studio 2005

I have modified my VSBuildStatus add-in to work with Visual Studio 2005. Basically I had to remove the LINQ stuff to break the dependency on the version 3.5 of the .NET framework. The new version (1.0.3) that supports Visual Studio 2005 is available here. Let me know if you have any problems with it. Especially … Read more

50917 errors

This is the record number of error I ever got in a project: 50917. After compiling that VC# project (with T4), Visual Studio 2008 was a little bit overwhelmed. It started to report out of memory errors and failed to build after fixing the error. A restart was, of course, the cure.

VSBuildStatusAddin for Visual Studio 2008

I have created an published at Visual Studio Gallery an add-in for Visual Studio 2008, called VSBuildStatusAddin. This add-in shows the status of a build/clean/deploy operation. I hope some of you will find this useful. Bellow is a description of the add-in. Installation Extract the content of the archive to your Visual Studio 2008 add-ins … Read more

Axialis Deal on Black Friday

Axialis Software offers this 50% off sale on all their products for today only. This is a short notice, but if you are looking for an icon or cursor editor, IconWorkshop or CursorWorkshop are the ones to go with. I’m using IconWorkshop for some time and I find it a great tool for creating and … Read more

Visual Studio Search Error

Sometimes, when searching in Visual Studio (all version since 2003 at least) you get this message: No files were found to look in. Find was stopped in progress. It cannot find any match for the search criteria, even if there are thousands. And it displays that message immediately after pressing Search. You can search again … Read more

Parsing ranges with FParsec

FParsec is an F# adaptation of Parsec, a free monadic parser combinator library for Haskell. It can parse context-sensitive, infinite look-ahead grammars, has complete support for unicode input and large files (> 4 GB) and produces excellent error messages. You can download and install it from the above link. To use it in an application, … Read more

New Things in C# 4.0

A few days ago Anders Hejlsberg delivered a presentation about the Future of C# at the Professional Developers Conveference 2008. He focused on the new things that will be available in C# 4.0: dynamic typed objects optional and named parameters improved COM interoperability co- and contra-variance The recording of the presentation is available on Channel9 … Read more