Since installing the Service Pack 1 for Visual Studio 2010, my .sln files for Visual Studio 2005 have not been opening.

This turns out to be, because I had VS2005 set to need Admin Privileges to run, to allow some remote debugging. But I also needed to set this for the Visual Studio Launcher, as this is what chooses which Visual Studio to open the solution file. In applying the service pack, it appears the need Admin Privileges setting was lost.

To test this, I found the VS2005 executable and remove the Admin Privileges requirement, and then my 2005 solutions opened.

But I couldn’t find where the Launcher was, so searching registry for .sln I found the file uses:

With the help of Code Project documents, MSDN and Blogs I slowly got a plug-in that has colour highlighting working (if you run it in the debug Visual Studio).

I was also reviewing how the IronPython project does it’s parser, but that used seemed to use python to do some parsing.. so

I then was trying to get Antlr to work, via AntlrWorks, but was banging my head on the debuggers limited support.

The next problem was how do I actually define the grammar for Erlang.

Erlang ships with a grammar defined in yecc, it’s version-thing of yacc. So I started translating this to Antrl but was getting left-right recursion errors, even though the problem was not the standard definition of left-right recursion problem. Yecc is recursive decent as Erlang does recursion so well, but this was not playing well with Antlr. I then discovered I was looking at a subset of the Erlang gramma, and the full yecc gramma was huge, so hand translations was not an option.

So I then found the yecc grammar for yecc, and thought that I could hand roll a C# recursive decent parser for yecc, which would allow the auto-writing of a proper grammar for CSTools. But I wasn’t so keen on the .dll dependency of that tool chain.

I then stumbled on to the Irony project which is a Visual Studio language development framework. Eek they have most of what I was trying to workout how to-do, mostly worked out. But they have their own lex and yacc like tools. This project also refers to the Visual Studio’s lex and yacc tools called MPLex and MPPG (distributed in the Visual Studio SDK)

So I was getting keen again to work out how to use lex and yacc correctly, thus why when I saw this book for $3, I bid and anxiously waited to se if I’d win. Of the 19 counted page view on the auction, 17 were mine.

So I’m half way through the first chapter and have just realised I don’t need to write a hand parser of yecc, I just need to write a lex parser that translates yecc to yacc, and rebuild that with MPPG to get a C# Erlang parser that is not hand rolled. Which means if the Erlang language changes, I can just re-run the whole process on the new gramma, and still be compliant.

I have finished now, but I have to say there was something creepy about the two male photos used. One looked too happy and the other too smooth. What made it worse was that it kept changing and my attention would be pulled to smug guy or happy guy.

I’m not looking forward to having to do a repair, luckily I did a full install, so there are no extra features that I will have to install later……