Design your own language in C# 9: a tutorial series

Programming languages are some of our fundamental tools, and many different languages for many different purposes. In this tutorial series, you will learn how to design and implement your own language, starting out from simple expressions and their evaluation, later adding variables, functions and lambda expressions. You may ask yourself why… why would you create … Read more

Language Tutorial part 1: Scanning input text

This post is part of a language tutorial series. In this part of the tutorial we will define the basic components of our language and introduce first phases of our language processor: the scanner. The scanner breaks up the textual representation of the input program text into a sequence of Tokens; as an example, 1.0 … Read more

Pruning recent projects in Start Page of Visual Studio 2019: Open recent

My recent projects list in Visual Studio is huge, so huge that it has become a annoying when I enter the Visual Studio Start Page.; it hangs and takes to respond. I create a lot of small projects in visual studio, and open a lot more. Every year I have around 300 C# projects from … Read more

Convenient member data sources with xUnit

In xUnit test cases can be parameterized using the attribute [InlineData] much like [Datarow] in MsTest. That is, instead of stating a [Fact], you can create a [Theory] and parameterize it, much like this example: Here we created four testcases using a general parameterized theory. This allows you to rapidly gain coverage without the boilerplate … Read more

Mapping deserialized objects to their JSON source using Json.NET

I am rewriting a part of an application written in python. It queries a json api, extracts relevant information and stores this information in an SQL database. It has served me well for a number of years now, and have changed quite a lot during its lifetime, and so has the relevant information. The data … Read more