This repository host the code written on the fly during a compiler backend workshop (my 7 or 8 year old memory is at play here). The workshop progress by explaining a binary expression evaluator in part 1 and gradually progresses to part 5, by introducing one language construct at a time. By part 5 the backend has support for interpretting and transcompiling while expression. part 6 is not present here, because the attendees of the workshop were asked to model function definition and invocation themselves and do it on the fly. The workshop were conducted over 2 days, to my surprise it turned out to be best way to make others mirrors one's mental models. The workshop had few homeworks like.. to add support lexical scope, support for nested break statements and return statements, one of the implications of implementing lexical scope.