After two weeks of intense development the first cut of Argot for C is done. I've ended up with a head cold and feel terrible, but atleast Argot is basically done. The first cut is complete when Argot can read in a dictionary file of definitions of other elements. This is not only an essential feature, it also tests about 90% of the Argot software in one hit. This is all thanks to the self referencing nature of Argot and Dictionary files. My original aim for Argot was for the library to be less than 50Kb. I'm incredibly chuffed that my final test executable ended up at 32Kb!
One of the interesting things about writing Argot in C is seeing all the improvements I can make to the Java version. It's difficult not to jump straight back into the Java version and making it better, however, for now there's better things to do. I also promised myself to setup a build machine that will ensure all the different language versions of Argot continue to work together.
There are two other versions of Argot I'd like to have complete. The C# and Micro edition. Working with the C version I've had some great ideas for the Micro edition. Today I'll be loaning a development kit for some 8kb and 16kb processors. It's going to be a tight squeeze making them Argot enabled, but I think it's doable!
The C# version is going to involve re-porting the java version again with the assitance of the Microsoft Java to C# porting tool. With that done I'll have my four core languages complete: java, c, c# and micro.
Aside from the development I've been talking to people about Argot and getting feedback. Having to explain in details of the meta dictionary to other people has given me a better understanding. It has also helped me see some small things to tweak and improve in the meta dictionary.
So much to do! Argot Micro, Argot C#, Build Machine, Meta Dictionary improvements across all versions. That should keep me busy for the next month.