1 2 3  int main() { puts("Just keep on iterating"); } 

Another work log :) I know I should write something useful but, hey, this writing kind of motivates me to actually do some real work.

So since my last post I have completed two “iterations” or two pages in my notepad.

I have continued to develop the little compiler. Type checking is kind of working, it is limited as the number of supported types is very low. In fact it is barely a language. I add a AST Tree walk interpreter plus we now have a sane error handling mechanism in the parser. Finally I integrated Catch2 for testing. I haven’t really written many tests yet but the next lump of work is to start to add them.

My approach to code is not great, I am not attempting to write something well engineered in fact it is deliberately sloppy or bad for want of a better word. As I don’t expect much of this code to live for long I am experimenting with not worrying about it and being confident that I can refactor, anythings that sticks around, into something robust. So if you look at the code and thing it is terrible, I agree. You might also notice a lot of it is easily replaceable, that’s by design.

I am continuing to read Engineering a Compiler I read one section per iteration and have just finished the Chapter on types. I will be honest and say I didn’t enjoy it that much. I found much of it to be fairly common sense. I guess I have written a few types checkers in the past (although a long time ago) and was hoping the book would say I had been doing it all wrong and here was a better approach. Alas not. The book is well written and honestly I am more excited for the discussion on the intermediate representation and compiler back ends. The next chapter starts touching on this.

As happens occasionally, I did a fresh reinstall of Linux. I have switched from Ubuntu to XUbuntu. I was tempted my Manjaro but Phoronix had some not great performance comparisons that kind of put me off. Perhaps next time.

The nice thing is I can be back up and coding in less than 2 hours. Perhaps an indication the my daily workflow doesn’t use that many tools. This makes me a bit happy.

While the compiler project is the main task in each iteration I do a number of other things, like this blog post. There have have been other tasks that have slowly got me ready to start messing in the world of gamedev again. It is going to be SDL2 based in either C or C++. Probably just getting graphics up on the screen kind of stuff for a few iterations. Maybe leading to some very small games. It might all die out before I get there.

Anyway that just about covers my tech life at the moment. My final task on this iteration is to create all the tasks for the next iteration.

519 Words

2020-06-06 23:00 +0000