Wow! I stumbled into this "blast from the past" the other day, I just had to share it with you. Here's the background story...
A couple of years ago, I encountered some source for a C# compiler written in pure C# by Mike Stall. I downloaded the source and started messing around with it seeing how it worked. At around the same time, I had a conversation with Nick about how English is the dominant language for technology and that most (if not all) programming languages are written in English. Granted, this is a good thing since it establishes a convention and avoids (hopefully) confusion for anybody trying to learn programming.
Well, with that thought in mind, I asked myself, how hard would it be to create a non-English programming language? That's where Azul came to life. Now, for those of you out there that know a little Spanish, by now know that "Azul" is English for "Blue" (yes capitalization is included... ;-)). Blue happens to be the name of Mike's compiler, so naming my compiler Azul is not that far of a stretch for a name.
Technically, Azul is the same compiler as Mike's except that I introduce a new parser/lexer that will interpret the Azul (Spanish) grammar. The implementation is not complete, since I just made some quick changes so I could prove that "it can be done." Here's a sample of what the "Azul grammar" looks like:
usando System;
using System.IO;
publica clase Test
{
statica void Main(string[] args)
{
int i = 0;
hasta(i < 10)
{
Console.WriteLine("In the 'hasta' loop!");
i++;
}
para(int j=0; j<10; j++)
{
Console.WriteLine("In the 'para' loop!");
}
Console.WriteLine("All done!");
Console.ReadLine();
}
}
As you can see, the syntax is "exactly" like C# except that it supports some simple Spanish grammar rules. For example, the publica clase is the literal translation of public class and usando is the present for the word using. As you can see, the Spanish language can be a little complex for implementing something as straight forward as a programming language since Spanish words can take different meaning depending on their context.
If you want to check out (literally) the source for Azul, you can get it from my Google code SVN repository.
What do you guys think about Azul?