RSSAmplifier

Blog

Xed's Blog

A blog dedicated to the enrichment of Chris X. Edwards.

xed.chRSS feed ↗5 posts

Latest posts

SnowC - A Demonstration

In previous posts I introduced SnowC and explained how it works and what challenges had to be overcome. In this post let’s look at SnowC in action and see what it’s capable of. Recall that the most challenging project goal was to be able to convert wild C source code into sensible SnowC. That was phase one. Phase two was relatively easy, just following the SnowC rules to convert SnowC back to C.…

SnowC - Challenges - Some Final Pointers

There is actually a point to this series on challenges I faced when creating a decent implementation of SnowC. I think the SnowC idea is very sensible and it is worth pursuing but while I’m proud of what I’ve accomplished, I’m not claiming to be our species' best candidate to implement the idea. And one day in the future — but not today! — maybe our robot friends can even improve on what I’ve…

SnowC - Challenges - Else

In the last post we looked at how challenging it was to just track level depth. To understand the problem better let’s review how singletons can cause mischief. The classic singleton is something like this conceptual code. SINGLETON_KEYWORD (optional_conditions) resolving_statement; The SINGLETON_KEYWORD can be if , for , while , switch , do , or else . When the resolving statement completes, the…

SnowC - Challenges - Levels

Back in 2015 when I conceived of the idea for SnowC, I first thought it would be so easy to convert from SnowC to C that I could do it by storing the state of the indentation level in the call stack using recursion. That turned out to be too ambitious but it was close. However what was really delusional and naive was thinking that converting from C might be possible using recursion too. While I…

SnowC - Challenges - Aggregate Types

Today is the first in a series on challenges I ran into while designing and working on SnowC . My hope is that these can offer insight into how the system really works and what the thinking was behind my design decisions. These posts also highlight how challenging this project actually is — if you’re keen to improve on my system — and what I did to overcome those challenges. Instead of starting at…